From my personal experience, I wouldn't use a freelance tester because they won't understand the system well enough to provide value for money. The most valuable testing is that which exposes your lack of understanding of what the system should do. These also usually require the most extensive rewrites, so you definitely want them as early as possible. Unfortunately, they also require the most extensive understanding…
There's a big difference between blackbox testing and whitebox testing. For blackbox testing, having someone who doesn't now the inner workings of the system to find workarounds can many times be an advantage. Of course you should do both kinds for security critical projects.
Take a concrete example: a piece of medical equipment prints off reports. If your tester has no medical knowledge, he doesn't have a frame of reference to know if the numbers are correct or not. He's also more inclined to use it exactly how you specify.
A real doctor would bring his own experience of similar equipment and try to use it in ways you didn't think of. In addition, he will be able to gauge whether the reports "look right".