This came up in another thread so I'm posting an example database here so we don't end up hijacking that thread.
This example database uses unbound textboxes and 'blank' labels and some VBA code in the ON OPEN event of the report to dynamically fill in columns of data.
The example is limited to five columns of data OTHER than the row headers.
CrosstabReportExample.zip