Esta un poco desordenada la consulta SQL pero creo que cuando haces el
Código SQL:
Ver originalSELECT Reponsable = CASE orden
WHEN 1 THEN Responsable
WHEN 2 THEN Descripcion
END......
o el
Código SQL:
Ver originalORDER BY dato.Usuario_Id ASC, dato.orden ASC
Es donde no esta el orden... por que en tus SELECT anidados internos jamás 'tiras' la columna orden hacía el SELECT principal