Shrinking large DB file not working
A colleague of mine had a similar-ish problem with long-running shrinks.  He took some time to investigate it and found that he had lots of indexes at the 'end' of the file.

A little index maintenance, and then the shrink operation ran fine.  You can read his blog about it here: http://sqltrees.wordpress.com/2013/08/11/shrinking-databases/