Bueno, por horizontal también podía entender que la escritura sea de abajo hacia arriba o viceversa, que se dibuje en forma horizontal! pero siendo así...
Si utilizas como motor de base de datos SqlServer o Access, puedes utilizar sentencias como PIVOT, para que devuelva los datos de esa forma. Si no trabajas con estos motores, puedes utilizar un cubo de decisión para hacer el pivot de los datos.
Todas estas respuestas, son para seguir utilizando los componentes de la VCL, si existe algún DBGrid que directamente lo dibuje así, lo desconozco... pero te recomiendo buscar por Torry.net, Delphipages.com ,
http://delphi.icm.edu.pl/....
Saludos!