Thanks for the replies. I have attached the .S19 file produced by the assembler (Compiled.s19), and the dump from the PROGHCS08 programmer (Dumped.s19). These are slightly different to the previous version, but the problems are the same.
I suspect the data is being written into page 0 flash, as when I scroll down on the PROGHCS08 I start seeing a mirror of the flash at 0A0F0h (the AC128 flash program space starts at 20F0h). This gets confusing, I am using org $8000 to define the start location of the table, , as this is the correct absolute address in the extended address range for this page. Therefore when I set PPAGE=2, this page should be sitting at $8000. Perhaps there is another way to advise the P&E assembler to start my tables in the correct extended address range.
I am not using CodeWarrior - this is a legacy assembler app that I am updating to allow some tables to use the larger address space of the AC128. I am using P&E WINIDE and P&E's CPROG/PROG software. I have also updated my flash programming algrithms to the latest ones available on their web site.