MSSQL: Auto-numbering rows in commit order
How do I ensure, that events (DB rows) are numbered in increasing commit order?


You don't.  At least not with eliminating concurrent writers.  You simply don't use a high-water mark for your readers.  Delete the rows after reading, or update them to show that they were processed.

See eg Using tables as Queues