Hola:
He encontrado una solución, que si bien no es la más elegante, podría servir para resolver este tipo de problema en cualquier tipo de tablas (sólo lo he probado con una tabla DBASE), sin rompernos demasiado la cabeza.
La librería RX tiene un componente que actúa como una tabla en memoria (TRXMemoryData). Pues bien, el truco está en una vez realizada la consulta SQL, volcar el resultado al TRXMemoryData, y decirle que campo queremos ordenar. En este componente los acentos se ordenan correctamente.
Código:
Query.Add('Select Nombre from tabla') // No es necesario Order by
RxMemoryData.Open;
RxMemoryData.LoadFromDataSet(Query1,0,lmCopy);
RxMemoryData.SortOnFields('Nombre');
TRxMemoryDAta no necesita utilizar el BDE ni la DLL DBClient. Además, actúa como un TDataSet y puede conectarse a componentes data-aware.
Un abrazo.