Firstly, if you're using MakeSureDirectoryPathExists() you don't need CreateDirectory(). MakeSureDirectoryPathExists() is a debugging function that'll automatically create the directory if it doesn't exist assuming you have sufficient security priviledges.
Secondly, I don't know what operating system Stoned Coder is using (or what he's been smoking ) but you don't have to do "\"C:\\Program Files\\FSL\\\"", to specifiy a directory path. The below code should create a directory. If this works, but when you try something similar within your Program Files directory it fails then it's a security issue, not a syntax one. You could also try calling GetLastError() which will probably state access denied.
Code:
#pragma comment(lib,"Dbghelp.lib")
#include <windows.h>
#include <dbghelp.h>
int main ()
{
char* path = "C:\\Test Dir\\Test Directory\\";
MakeSureDirectoryPathExists(path);
}