This behavior works as expected for all synchronous operations. However, when we use SaveAsync or InsertAsync the POCO Id (annotated with the [AutoId] attribute) is not populated. NOTE: The DB record is created as expected.
In the unit tests it ‘appears’ that GetLastInsertIdSqlSuffix is utilized within the synchronized operations but omitted from their async counterparts. I am not quite sure if this is the issue or not.
We can certainly create a stand-alone repro. However, it might help to note that we pulled the tests you referred to locally (along with the latest version of ServiceStack from MyGet). We changed the test to simply connect to a MSSQL db rather than the default used in the original test.