Here's a toughy...
I have a dll, a plugin to another app. It does hard disk I/O to retrieve images to display on the screen. Usually, it works just fine. Sometimes, though, it will return a zero FILE* pointer from the fopen call, with error 24. Once it does this, it continues to do it for all subsequent calls until I kill the app and restart it.
The arguments to the fopen call are the relative pathname to the image file (uses normal "printable" ascii characters (not unicode), including '', and the string "rb". The compiler is MSVS 2004 .NET Pro, though I'm not using any .NET/MFC/whathaveyou, just standard C++ library calls and the windows SDK a'la Petzold.