By default, the system partition is read-only (unless you switch to read-write during installation). However, Android needs a data partition, and I don't think you could get away with a read-only data partition, it must be writable. You could use a tmpfs data partition, which is what the LIVE mode is doing.
There are of course other options. You could have /system and /data on different partitions, keeping /system read-only. However, there's still a risk of corrupting the /data partition. But you could tweak the boot script to check and fix the /data partition before handing it over to Android (that is, before switch_root).
I took a different approach on my hardware, although the end result is the same: I let Android mounting (and unmounting) the /data partition, by injecting the proper entry in fstab. You can then tell Android to check the partition before mounting. I did it that way, because experience demonstrated that even regular reboot could lead to data corruption, Android only properly unmounting partitions it knows about.
Hope this helps.
Michael.