DLL Hell
The way Visual C++ 2005 handles .DLLs differs from previous versions. Simply placing an application's dependent .DLLs in your path no longer works. This page summarizes: http://www.itwriting.com/blog/?postid=261.
Additionally, you can't mix different versions of the C runtime in your application as you could in previous versions of Visual Studio. For example, it used to be possible to build a third party library in multi-threaded dll release mode and link it to your code compiled in debug mode. This is no longer possible out of the box, as the application will complain about missing DLLs.
There may be a solution to this problem here:
http://lists.maptools.org/pipermail/gdal-dev/2006-October/010347.html, but I can't get it to work.