A quick update on current progress, for NAND M200s at least:
The TCC780x (D2) NAND driver has had a few tweaks applied and now also runs on TCC77x, as ata-nand-telechips.c. With current SVN it's possible to call ata_init() from the bootloader and read sectors with some degree of success. If you're lucky (and you've enabled HAVE_FAT16SUPPORT) it may even successfully mount the partition.
The logical/physical block translation scheme appears to be almost identical to the D2, but the current implementation is not perfect, so incorrect data is sometimes/often returned. From what I've seen so far, these kind of errors seem to occur more frequently on the m200 than the d2.
To try and investigate further, I've written a quick-n-dirty Windows program to write raw sectors with known values to the M200 UMS volume, and some Rockbox code to read/verify those using the NAND driver. The first test successfully read the first 16Mb with no apparent errors. I'll try to do some further tests to track down the remaining problem(s) in the next week or two, but no promises...
This tells me that the tcc770 is booting off of EEPROM. Anyone know anything about this? If this is true then the tcc770 may be going right from EEPROM to SD in the boot process and the NAND may not be tied directly to the tcc770. I looked at the board and did see a 10 pin part marked "SCTI AIP" that could be a EEPROM
Sorry, I hadn't seen your post until now. That certainly goes a long way to explaining how those HARP versions might boot. I'm not really that familiar with the various boot modes available - does the datasheet give any clues as to how you might read data from that chip?