Did anyone come across a free data generator that ca create synthetic data to load into databases for testing purposes?
As you know your data better than anyone outside your organization, you would probably get the best results by writing code yourself to do this. It would be fairly straightforward to write a small program in C#, Python, etc to generate test data.
You could take a look at my FOSS data generator - this is kind of a proof of concept at the moment, but is useable.
I have tried and used the Redgate tool, it is part of the Redgate Toolbelt bundle, and I can recommend it. Very nice tool with lots of possibilities. It however costs money as peacedog pointed out, if you are doing database development on consistent basis it is very much worth it.
I don't know of any free products to recommend, but if you are willing to purchase a commercial license, I can recommend ExactData's Dynamic Data Generator. It attempts to produce large scale, synthetic, realistic, and engineered data sets. It allows you to model the data sets for your tests, customize the output format (CSV, for instance), and then generate an large numbers of internally consistent data records.
I can recommend the DDG because I am a developer on this product.