What I was saying before is that the getLocal() function should have a root directory like this...

Actionscript Code:
var so:Object = Object (SharedObject.getLocal ( record, "/" ));

By saving the .sol in the root directory it wouldn't matter which directory the .swf is loaded, it'll always load the same .sol.

Although with the problem you're describing, this may just make the .sol saved in...

C:\Documents and Settings\("Computer Name")\Application Data\Macromedia\Flash Player\#SharedObjects\8XA842Q7\localhost\game.sol

But the .swf should be loading the same .sol if you specify a path, maybe it's making random directories because it thinks that each time you load the swf its a different file or something.