sorry for a late response.
Ad1 Yes, it is supporting transactions, some doc over that: http://ndatabase.codeplex.com/wikipage?title=transaction&referringTitle=Documentation. Simply, if you are using close method of odb or using statement, then commit happens automatically. Additionally,
you can manualy invoke Commit or Rollback method.
Ad2 That's not easy topic. The way of how that's done is described there: http://ndatabase.codeplex.com/wikipage?title=odb-file-format&referringTitle=Documentation, so how file is divided, and where (and in which way) objects are stored.
Ad4 No, for now it is working only in the single thread mode (single file lock).
Ad5 It depends, what are you expecting writing fault-tolerant. Transactions are supporting things like if something wasn't commited, then it is not in the file. Additionally db has closing marker, but usage of that is in the early stage.
Ad6 .net/mono, no I shouldn't but after creating finally vm with ubuntu I will definitely make some deep tests on it.
The last question: yes, you can. Seems like there is some problem in .net 4 because of changes how exception is built in .net, but generally speaking yes. ISerializable is not required for putting objects into NDatabase.