Using both JMP 11 and JMP 12 I don't have issues on windows. One thing to know while debugging, if I run the below script as one it runs fine. But if I try to run Part 1 THEN Part 2 there is an IO error. Setting the default directory seems to be a private variable since it doesn't stick.
//Part 1
saveDirectory = "C:\TEMP";
if(directory exists(saveDirectory),
,
create directory(saveDirectory)
);
set default directory(saveDirectory);
text = "test";
//Part 2
save text file("test.txt", text);
open("test.txt");
I'm not sure why it isn't working, but as a work around you can always do a simple two step modification:
filepath = saveDirectory || "example.png";
pic_obj << Save Picture( filepath, "png" );
I would also worry about write permissions if they are trying to save a secure directory, but that doesn't seem to be an issue since as you say, the directory is created.