It seems you are doing iterative design. It's fine to use the same participants because the purpose of the study is to identify areas for improvement. However...
The more often you use the same participants, the more specific your design will become to their preferences. It may be very much to their liking, but not good for anyone else.
Users may become exhausted from testing. They may start nitpicking unimportant details, much as developers sometimes do when working on the same project for extended periods.
Users may begin picking up on tester preferences, telling you what they think you want.
If your user pool is inherently limited, you can consider drawing random subsets for testing.
If doing bonafide experiments (to compare interfaces), crossover design is valid methodology. You still need enough participants to ensure statistical power. You would need two complete designs. Preferably they would differ in just one aspect. Randomize users to one design or another. Switch designs when tasks are complete. Use comparable, but different, tasks to avoid training effects.