It is possible for a corrupted filesystem to cause a crash.
Some Linux filesystems don't support -o sync and -o dirsync (the
ext2, ext3, ext4, fat and vfat filesystems do support synchronous
updates (a la BSD) when mounted with the sync option).
The -o remount may not be able to change mount parameters (all
ext2fs-specific parameters, except sb, are changeable with a
remount, for example, but you can't change gid or umask for the
fatfs).
It is possible that the files /etc/mtab and /proc/mounts don't
match on systems with a regular mtab file. The first file is
based only on the mount command options, but the content of the
second file also depends on the kernel and others settings (e.g.
on a remote NFS server — in certain cases the mount command may
report unreliable information about an NFS mount point and the
/proc/mount file usually contains more reliable information.)
This is another reason to replace the mtab file with a symlink to
the /proc/mounts file.
Checking files on NFS filesystems referenced by file descriptors
(i.e. the fcntl and ioctl families of functions) may lead to
inconsistent results due to the lack of a consistency check in
the kernel even if the noac mount option is used.
The loop option with the offset or sizelimit options used may
fail when using older kernels if the mount command can't confirm
that the size of the block device has been configured as
requested. This situation can be worked around by using the
losetup(8) command manually before calling mount with the
configured loop device.