I haven't yet played around with local connections so I can't help you there (without reading off documentation and telling you things that you could easily find out yourself).
Using GET is ridiculous, I did that for a while but since I was using a string of effectively random characters (to represent a level in my game), most symbols had to be escaped and thus the URL was now three times longer

It's bad to put so much in GET - at one point I had too much data in there that the URL length was exceeded, and it was at that point I switched to using POST.
Shared objects are fairly simple to use and should be able to solve your problems. The best tutorial is
here (in my opinion) but I'll briefly describe it here:
CODE
ShObj = SharedObject.getLocal("filename");
ShObj.data.name = "Nab";
ShObj.flush()
(flush() saves the data to the file, if you don't call it then the data is only saved when you close the first swf!)
Then in the other swf you can do something like
CODE
ShObj = SharedObject.getLocal("filename");
if(ShObj.data.name!=null){
trace(ShObj.data.name);
}else{
trace("No data :(")
}
This isn't that good if both windows are going to be open unless you're going to either set an interval which continuously checks for changes, or force the user to click a button when he has updated in the other swf.
I haven't come across using getURL() with POST data directly, and via documentation
here, it seems that all variables are sent and that's pretty stupid.
Another problem with this is each time you call getURL(), a new window will open. This may not seem like a problem, but if the system is for something like a level editor and corresponding testing area, and each time you hit 'test level' in the editor a new window came up for testing, it'd get pretty annoying. I managed to come up with something last time with javascript to get around this.
Here's my method: (arg - when I made this last time I used double-quotes everywhere and thus had to escape all of them

)
CODE
url = "<html><head><title>Redirecting...</title></head><body>Redirecting...<form name='aForm' method='POST' action='http://your.website.com/folder/file.php'><input type='hidden' name='stuff' value='" + escape (stuff) + "'></form><script language='JavaScript'>document.aForm.submit();</script></body></html>";
getURL ("java script:win = window.open('','Redirecting..',toolbar=0,status=0,scrollbar=0,resizable=0,width=550,height=550);win.document.open();win.document.write(unescape('" + escape (escape (url)) + "'));win.document.close()");
Using this, the same window will be used each time you press some button that opens the other one.
And in file.php, you'd need something like: (I hear this is a bad way to do this - i.e. embed swf's)
CODE
<?php
$stuff = $_POST['stuff'];
$heredoc = <<<LOLSTUFF
<html>
<head>
<title>This is a title!</title>
</head>
<body bgcolor="#ffffff">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="550" id="file2" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="file2.swf" /><param name=FlashVars value="stuff=
LOLSTUFF;
$heredoc .= $stuff;
$heredoc .= '><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="file2.swf" FlashVars="stuff=';
$heredoc .= $stuff;
$heredoc .= ' quality="high" bgcolor="#ffffff" width="550" height="550" name="file2" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
echo $heredoc;
?>
Another way would be to directly echo all that stuff with document.write when you call getURL(), but that's really really ugly.
Also, I probably escaped something too much, I tend to escape things a lot...
edit) note: using FlashVars instead of using file2.swf?stuff=stuff saves bandwidth as far as I know - you'll need to load file2.swf again if you have ?stuff=morestuff a second time.
Comment/Reply (w/o sign-up)