Personally, I think your method of testing is fine. I have a suite of tests which I use to ensure that maps are fully connected, have the proper ratio of floor to wall, have roughly the correct features, etc. Were it up to me, I would just run the tests with a random seed, rather than a preset. This over time as I run the test thousands upon thousands of times, each run with a different seed, I can become more and more certain that the code does what I expect it to (this is called amplification of stochastic advantage). Furthermore, I would record the state of the rng at the start of each test so that if a test happens to fail, I can replicate the failure case, and figure out why after thousands of successful runs, I finally found the odd corner case in my generation algorithm.

As far as your question about whether using seeds in the range [0, 999] is okay, the answer is almost certainly. To illustrate, lets suppose you and a crappy rng with a really small state space, say in the range [0,9]. If we seed it with a 0, we might generate the sequence (and I'm just picking this out of the air) <0,2,6,5,3,1,7,8,4,9>. Once we reach the end of that sequence, it would start over at 0. Now suppose we seeded with a 1. With our hypothetical rng, we would get the sequence <1,7,8,4,9,0,2,6,5,3>. With this small of a state space, it is easy to see where the second sequence matches the first. However, your mersenne twister has an extremely large state space. For example, the most common implementation of the twister (MT19937) has a state space of 2^19937 - 1, which is roughly 4.3x10^66207. Note that the number of atoms in the observable universe is estimated at around 10^80. In other words, you are almost certainly fine using sequential seeds. The only question remaining is whether you want to trust your non-deterministic tests to just 1000 pre-set cases, or if you would rather be able to have increasing confidence over time as you run on more and more test cases.