The bottom line is to create two virtual columns "serie_order" (option) and "serie" (constant), which you will use on both parts of your data (you will have to split your data into two parts).
SELECT * FROM ( SELECT 1 as serie, message_id AS serie_order , * FROM (SELECT message_id FROM messages ) as part_up UNION SELECT 2 as serie, 101-message_id as serie_order, * FROM (SELECT message_id FROM messages) as part_down ) AS world ORDER BY serie_order ASC, serie ASC LIMIT 100
source share