As per MSDN:
Current identity value is set to the new_reseed_value. If no rows have been inserted into the table since the table was created, or if all rows have been removed by using the TRUNCATE TABLE statement, the first row inserted after you run DBCC CHECKIDENT uses new_reseed_value as the identity. Otherwise, the next row inserted uses new_reseed_value + the current increment value.
So if you want consistent behaviour, insert and delete a single row to / from each of the tables before reseeding.
However, I'd like to point out that you're not supposed to rely on identity columns having any sort of pattern. While in practice identity behaves some way, it doesn't guarantee it. A typical scenario being transaction A that creates a few new rows, transaction B creating a few more, and then rolling the transaction A back and committing B yields a gap.