The problem lies when I change the path to something else, such as:
HENCODE BASS = BASS_Encode_Start(dummy,"lame --alt-preset insane - c:/output.mp3" , 0, NULL, 0);
I tried all combinations of c:/ , c:// , c:\ , c:\\
In C/C++, you would use "c:\\". Regarding the problem that you're having, perhaps it is a permissions issue, ie. you're not allowed to write in the target directory. As writing to the working directory is known to work, what happens if you provide the full path to that directory? If it contains spaces, the filename should be enclosed in quotes, like this...
HENCODE BASS = BASS_Encode_Start(dummy,"lame --alt-preset insane - \"c:\\my path\\output.mp3\"" , 0, NULL, 0);