Jeg kan ikke rigtig se en måde at gøre det direkte ved at bruge ORDER BY FIELD.
Men jeg spekulerer på, om du kunne lave en JOIN mod metatabellen og derefter BESTILLE VED et FIND_IN_SET.
Ikke testet dette, men vil forhåbentlig give dig ideen:-
SELECT *
FROM `categories`
INNER JOIN meta ON metakey = 'category_order' AND FIND_IN_SET(categories.ID,metavalue)
WHERE `parent` = '0'
ORDER BY FIND_IN_SET(categories.ID,metavalue)
Muligvis er FIND_IN_SET på JOIN ikke nødvendigt