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.
int main ()
char* path = "C:\\Test Dir\\Test Directory\\";