Be
extremely carefull with this code:
http://blogs.msdn.com/b/jeffrey_wall/archive/2004/09/13/229137.aspx[
^] - it wraps the Defrag API in a C# wrapper so you can use it directly from .NET
That should allow you access to the unused disk file map, so you can overwrite it.
CAVEAT: I haven't tried it, I wouldn't touch it with a ten foot cattle prod, and if you destroy your own file system by accident don't come crying to me...
Personally, I'd use one of the commercial products, as there are far, far too many things that could go wrong in development and destroy my "live" disk...but it's your risk.