Then several instances of BC will try to write to the same files at the same time.
I don't think there's a straightforward solution to this.
Depends on what you mean with “multi user environment”. If it's a desktop or laptop shared by a family, it's impossible that two people are using it at the same time. Switching accounts may leave programs open, but (as far as I know) they get suspended and should not conflict with others. If it's a server (maybe like an online wallet), then definitely many people can use it, but in that case you should have a single program (other than Bitcoin Core) managing all accounts.
It depends on the OS and settings. In a Unix based multiuser environment (eg OS X) nothing get suspended. Likewise you can have two people using the machine via screen sharing for example.
:-)
Likewise on Windows -- if you lock your account either explicitly (shortcut: windows-L) or implicitly (starting a Remote Desktop session with user #2 while user #1 is logged in), all programs will remain running in the background (except Win8 Metro-style apps, but that's irrelevant). I think shorena's option of running a single Bitcoin Core instance w/o a wallet and then configuring mSIGNA or Multibit clients to connect to localhost is probably the best option.