Reading the code more closely the segment that you posted seems to be the key. HTML::Pager doesn't bother creating "real" table headers with <TH></TH>. It just makes the first row of data bold, <B>, and calls that that table headers. I guess I could do the same thing with my data but it seems kind of lame to generate tables without "real" headers.
Maybe there is a way inject another TMPL_LOOP before the PAGER_DATA_LIST loop and use that as the headers.
Thanks for the help. Gives me some direction to work in.