Like I said, untested... I don't have this problem myself. Come to think of it, when I run the game I am currently working on, I just open a file from the same folder the game is running in without having to use any code to switch to that folder at all.
It may have something to do with the fact that I use PHYSFS, I don't know, but when I switch to the standard interface so I can load a file from outside of the ZIP I have my data stored in, it loads by default from the directory the game is running in. Perhaps the filename of the graphic you're trying to load is wrong? Or there is a problem with the bitmap? Make sure it's in the same folder as the executable, or specify a folder to load it from. Also, if you're using something like Code::Blocks, and you're running a DEBUG version which was compiled into it's own folder, make sure you specify which folder the exe is to use when it is run or it may be looking inside the debug folder.