If you're using a map to work the coordinates, odds are quite good that they are not using WGS84. While a Garmin handheld can be adjusted for use with what seem to be 100 different datum selections, the TomTom and other brands of similar automotive devices are strictly WGS84. Creating an offset as you did is the only solution if you have only the map and the TomTom. Just beware that your offset will work only locally, and as you move around the country, you'll start to see different offsets apply.
This isn't really a 'problem' with the Spanish or Portuguese maps per se. For example, your own British maps based upon OSGB 36 have offsets that are variable against WGS84 all around Britain. It's just a matter of dealing with the differences in the coordinates. Here we still have most paper maps in our old NAD 27 format, which depending upon where you are around the U.S., will have differing amounts of offset against WGS84. All of these variations in mapping are why the WGS84 is now a preferred datum.
You'll find this issue on all automotive-specific nav devices.
One solution is to carry the most inexpensive Garmin handheld you can find. While it won't have the features of the TomTom, what you can do is create a waypoint using one datum (e.g., ED50 for many Spanish maps) coordinates, and then swap to WGS84 datum on the Garmin. Your waypoint's coordinates will automagically be displayed in WGS84, converted by the unit for the area in question. Then you can plug those into your TomTom.
Just be aware that if your destination for pick-up is too far from any known road, you may get a "Route not possible" message, even with good coordinates.