We fought this with a few of our first integrations back in the day, and I have heard the same rumors you have. If MS learns that you've manually entered data into the database directly, they will force a reinstall prior to supporting.
This is a shame, because it is very tempting to dump data directly into the database. The CRM API isn't extremely speedy (it's actually a bit of a terd) and the idea of leveraging the API is a little intimidating to a lot of ETL developers.
We ended up using Scribe Insight (http://www.scribesoft.com/) as our integration platform anytime we push data into CRM. It's not a perfect tool ETL tool, but for CRM integrations it's pretty close. This has proven to be far more efficient than writing your own C# libraries to handle this basic task.
If you're thinking about pushing data into MS CRM with tsql - don't. Give that product a look first.