NFS V3.0 has a fallback to only mount -r when it does not understands the file system file naming.
In other words, file names encoded UTF-8 will prevent a non-UTF-8 aware client to mount -rw.
Now, NFS has no standard and is included as base in almost every OS each OS maintainer having his own view on the subject.
With FreBSD8 both as server and client I could only mount -ro, while the same files FreeBSD ckient from OpenBSD server worked as expected.
Neither server could be mounted -rw from Windows SFU.
You seem to have a supplementary problem: try to use consistent UID/GID across all OSes
${user}:wheel
will eventually work as 1000:0 (Nor every OS has wheel = root = 0)
most OSes will enable you to set 1000 as minimum UID (some start at 100).
Now NFS mounts on name, not on numbers, hence the GID should have a name and number consistent across OSes.
Also, file names must be restricted to ASCII-7.
Mission impossible.
Summary: don't use NFS
Am thinking of using database engines for -rw shareable/updateable files, but have no idea of where to start as
the database is the file system.