First of all, I'd check the integrity of the drive. If you have the package ntfsprogs installed, run
ntfsfix /dev/sdb1on the unmounted partition. I.e. don't try to access it before running the command, and if you have, umount it first. (I hope the partition is still sdb1 -- the device name has changed a few times.)
Then, with the drive attached, boot into Windows.
ntfsfix will fix some problems that may be caused by Linux, but will also schedule a check for the next boot into Windows. In other words, it will leave most of the fixing to Windows.
After that, I think we should try mounting the partition manually at a temporary mountpoint. But one thing at a time.