Is it possible you're accessing the mapped drive with different credentials than you mapped it with?
No. Definitely not. And I'm experiencing this on XP Pro (so no UAC weirdness). I don't know if it makes any difference, but I do use Offline files and have that support enabled on my different computers, though I don't have any of the media folders set up for Offline use (other folders on other Network Drives are). I find the issue generally happens like this:
1. My "server" machine (the one hosting the physical drive where the shared folder lives) has been rebooted or is shut down for some reason, but the "host" machine (the one trying to use the network drive via MC) has remained up.
2. While the server machine is down, Windows updates the Network Drive status to disconnected.
3. I boot the "server" machine back up, but do not try to access any of it's drives via the "host" machine in Windows Explorer at all. I simply open MC.
4. MC will list all of the files on the Network Drive as missing (with the X icon) and they will not play.
5. If I either: A) Open Windows explorer and double click on the drive to open it, or B) navigate to the drive via Drives and Devices inside MC then MC is again able to find and play the files.
As far as how to do it programmatically in C++, I can't help you there. Is there simply any way you can do a "browse" command on only network drives? It appears the browse "action" forces Windows to try to reconnect the drives...