Problem: debugging embedded VC++ (most versions) code that's running on a Windows CE device you get a dialog bitchin' about breakpoints could not be moved and have been disabled .
Solution: Go to the Settings of the Project that's using the dll on which the breakpoints are. Select the Debug tab and select from there Additional Dlls, in Local Name specify the local path of the dll, in remote Path specify the path of the dll on the device:
Local Name : C:\Whatever\Util.dll
Remote Name : \WhateverToo\Util.dll
The thing was about to drive me crazy and I know for sure I am not the only one. You could get this error if you're not generating the debug information for the dll as well (in this case go to the project settings and roam till you find a checkbox saying Generate Debug Information - or something like that - and tick it). I tested this on eMbedded VC++ 4, but my guess is it's gonna work no matter what. What's tricky about this is that's almost impossible to google the Microsoft article that tells you how to fix it: http://support.microsoft.com/kb/275560/en-us
Enjoy, and be good butchers.