Sono fermo a SQLServer2000 ma se non mi pare si siano fatti grossi passi avanti con le Query a campi incrociati con SQLSERVER.
Personalmente ho sempre bypassato il problema con Access che invece usa il TRANSFORM e rende le Query Incrociate veramente banali.
Quello che facevo era LINKNARE la/le Tabelle o la Query dei dati originali e poi generavo la mia QUery a campi incrociati.
Chiaramente dipende poi come devi interagire, ma con ADO o DAO poi ottieni un RS gestibile.