I guess the answer comes too late here, but anyways..
These situations are of course testable. And I'd say they would be hardly testable if you did NOT reset the database before each test.
Imagine you're testing a registration process. You start with an empty database and empty users table. Then your test goes through the process clicking and filling our forms. At the end, there should 1 row/record about a new user registered.
Imagine you do this without resetting the state of database.. then you'd start with users table containing e.g. 54321 records and would somehow have to check if there is 54322 (+1).. which is harder to do and not clear/transparent.