Without seeing exactly what you're doing in Tasker I can't say for sure, but my guess is that you're not getting a current GPS fix before saving the location. Here's what I came up with a while back:
Context: Location [GPS: On] <actual location doesn't matter>
After creating the above profile, disable it.
Profile: Car Parked
Context: Bluetooth Connected
GPS [Set: On]
Profile Status [Name: GetGPSfix] [Set: On]
Wait 30 seconds
Profile Status [Name: GetGPSfix] [Set: Off]
Variable Set [Name: %CARLOC] [Value: %LOC]
GPS [Set: Off]
Tasker doesn't (yet) include the ability to get a current GPS fix before reading the %LOC variable. To get around this we use a dummy profile called GetGPSfix. Enabling a GPS-based location profile causes Tasker to get a current fix. Waiting 30 seconds give the GPS time to determine your location.
The stumbling block with regard to your original post is that you can't user a variable to specify a location for a Location context.