I did have a go at running unsquashfs (as root) on a copy of the rootfs image on a different machine to see what would happen, but it generated loads of errors ('operation not permitted' if I remember rightly).
Would doing this right actually boot, or am I barking up the wrong tree?
Any tips on doing this would be gratefully received,
As for booting from an uncompressed image, that will take some work.
First, in order to mount the uncompressed root file system on the CF, the kernel must have access to all the kernel drivers needed to mount and read the file system. This means that the kernel needs the ATA driver (to use the the IDE interface) and the file system driver (to mount the file system). Neither are compiled into the kernel. Therefore, you would either need to recompile the kernel with these drivers compiled in or create an initrd with these drivers. By the way, the reason the squashfs image does not have this problem is that it is the initrd.
Second, you would want to format the CF as ext3 rather than vfat. Otherwise, you will not have any real file system access control.