To used shared mode you would have to have the Cluster Volume Manager and Cluster File System. The application would have to understand that two copies are running and be able to control the locking between nodes. This is done in applications such as Oracle RAC 9i which uses GAB and LLT as a transport between the nodes to trade info.
Using shared mounts between nodes where the apps were unaware (such as mounting a file system) would lead to trashing the file system. When the second node mounted the file system it would be aware of the current condition of the file system as it read the superblock. However, from that point on, the two nodes would not re-read the superblock, would have no idea of what was happening at the remote node in terms of allocation of blocks, directory changes, etc. They would overwrite each others data.
Mounting on the second node in a read only mode leads to inconsistent data as seen from the second node because it would not know if data had been updated and would assume blocks it had cached had not changed.