Freescale often sales bigger chips labeled as a smaller ones, until smaller maskset is released. I was receiving S12XDT256 for a long time, which had 512k of flash inside. I think this is what you see in the datasheet. If you look at PARTID description, you will note that there's no dedicated C64 maskset and PARTID value. Instead, the same maskset is used for C64, C96 and C128. I think table 1-11 is right, but only for 128k parts labelled asl C64. C64 mapping for page 3F should be $03,$07,$0B,$0F,$13,$17,$1B,$1F,$23,$27,$2B,$2F,$33,$37,$3B,$3F. What you see in Table 1-11 is valid for C128.