Gracias por sus cometarios thecidmx, oscarac, ya quedo el show, lo que paso fue que estaba mal armada la consulta y si mi estimado oscarac ya tenia esos campos pero faltaba acomodarlos para que arrojara la consulta correcta, tienes toda la razón con respecto a ordenarlos de acuerdo al campo numérico y después por nombre jojo
y ya se pueden visualizaran en el cxGrid como en la imágen de arriba.
Les dejo la consulta por si le sirve a alguien más y muchismas gracias por su tiempo.
Código SQL
[-]
Select * from
(SELECT usu.id, usu.name, usu.username, usu.role,COALESCE(pup.id>1 ,2) pid
FROM jos_permiso_usr_plantel as pup,
plantel_datosgen as pdg,
jos_usuarios as usu
where pdg.id = pup.idplantel and
pup.idusuario= usu.id and
pup.sTipoActor= : prol and
pdg.id=: pidplantel
and usu.block =0
order by pid desc, name
) A
UNION
SELECT usu.id, usu.name, usu.username, usu.role, usu.block
FROM jos_usuarios as usu
where usu.id not in (
SELECT usu.id FROM jos_permiso_usr_plantel as pup,
plantel_datosgen as pdg,
jos_usuarios as usu
where pdg.id = pup.idplantel and
pup.idusuario= usu.id and
pup.sTipoActor=: prol and
pdg.id=: pidplantel) and usu.role = : prol
and usu.block =0
order by pid desc, name