De la documentación de búsquedas booleanas de texto completo de MySQL :
Eso explica por qué no está ordenado por relevancia sin ORDER BY
. Ahora para poder ordenar por relevance
, necesitas definirlo:
SELECT *, MATCH (`Badge`,`First Name`,`Last Name`,`Service Tag`,`Asset Tag`) as relevance
WHERE MATCH AGAINST ('".$query."*' IN BOOLEAN MODE) and `deleted` = '0'
ORDER BY relevance DESC