Basecamp and the 590 use different features in the gpx file than the format used by the 660 and Mapsource.
eg The 590 uses Via points and shaping points to form a route. The 660 does not.
However a mapsource route can be transferred and run in the 590, but under certain circumstances the route will fail during navigation. Garmin doesn't specify what those circumstances may be.
In order to get mapsource to talk to the 590, the 590 has to be switched into using Drive letters rather than appearing as a separate device. By default it is set to use Media Transfer Protocol. - MTP.
For use with Mapsource the 590 has to use Mass Storage. In this mode you have to formally 'eject' the device at the computer before unplugging the USB cable, otherwise the last part if the data that was sent, will not actually be transmitted to the Zumo. Just as you have to with the 660.
But even if you do that, you still have a route which may not work when navigating.
I don't see the issue with Basecamp. In the early days it seemed to be full of bugs and kept crashing or simply closing down on me - losing unsaved routes. It was improved dramatically and it now behaves itself. It does everything that Mapsource does and in a very similar way. You need to know how to create a folder and a list. For most everything else you use the same commands as in mapsource. Except Basecamp has better access to the insert tool, and you can set the route points to get the best from the 590.