Hi, I had the exact same problem with network shares and I fixed it
but actually not with MarcoPolo.
As far as triggering my "Traveling" context, I use a "NetworkLink"
rule. It monitors the Ethernet link (you can also select Firewire link
or any other network interface on your computer) and when it is
inactive, it triggers the Traveling context.
Then to switch to my home or work contexts, I just set the confidence
for those WiFi SSID rules higher than the NetworkLink inactive rule
and it will switch nicely whenever you leave the local wifi.
However, like you, I decided that I really wanted to unmount to happen
immediately when I put the laptop to sleep, not when I opened it in a
new location and let MarcoPolo activate a script (since by that time
often my network Shares would be inaccessible)
I now use another great program called sleepwatcher, which you can
find here:
http://www.bernhard-baehr.de/
It will run whatever script you want immediately when you put the
laptop to sleep, so now when I close the lid, the shares disconnect
automatically. You can also write scripts to perform on wake (to
reconnect to the share, for example).
Hope that helps