To switch the root partition to read-only mode, and the system and OMV work correctly, you must use overlayfs, which is supported in the linux 3.18 kernel. I used a slightly modified script (root-ro) for Raspberry Pi by Pascal Rosin https://gist.github.com/niun/34c945d70753fc9e2cc7
To save the OMV changes, I created an omv-apply-config script that remount the lowerdir of overlayfs into read-write mode, synchronize the config.xml and exec omv-mkconf via chroot, then remount the lowerdir of overlayfs back to read-only mode.
To run omv-mkconf through omv-apply-config, I made a PHP wrapper class \ROPatch\Process (process.inc) and a script (start.inc) to use this class instead of \OMV\System\Process, this script is loaded via php conf.d, using the auto_prepend_file parameter, so this should not break when updating the OMV.