I think there is a bug in the ProgramInfo class. NUMPROGRAMLINES is 31 but, but ProgramInfo::ToStringList inserts 32 entries in the list. I noticed this when QUERY_RECORDINGS returned 385 list entries for 12 ProgramInfo objects. (385-1)%31 is not zero, so there is 12 extra list entries.