Give this a try:
Completely by accident (in the 'man' page for some file system command), I discovered a command 'fixntfs'. I ran this from the command console on the unmounted problem drive**, and it took about 10 seconds to find and fix a problem with the windows drive. I reset, and took the LiveCD out. Windows did a chkdsk, then booted up normally... problem solved
* A linux operating system on a CD that doesn't need to use a hard drive -
http://www.knopper.net/knoppix-mirrors/ , download the .iso for your language, then burn to CD and boot from it.
** The problem drive will have been automatically mounted by Knoppix on bootup, and will be on the desktop. It will have a name something like '/dev/hda1' - this is the name the command console will recognize. Open the command console, and enter 'umount /dev/hda1' (replace 'hda1' with whatever your drive got called). Then enter 'fixntfs /dev/hda1'. It should find and fix a problem. Shut down using the 'log off' bit of the knoppix 'start' button equivalent.