lammert - 4:25 am on Feb 20, 2010 (gmt 0)
What you see is caused by the loose networking structure of the Internet. A good ISP has more than one connection to the outside world. If one of the connections fails, the routers of the ISP will automatically try to reroute the connections over the other available connections. Therefore the whole routing structure is not fixed, but is based on algorithms which use regularly updated tables and parameters like current bandwidth usage on each connection and errors/delays/outages encountered on the connections to decide which route to take for each packet.
It seems that your ISP has a connection directly with Europe mainland and one with the US. Which of the connections is used if you want to visit a website is based on the outcome of the routing algorithm. Probably the router algorithm calculates that the IP range of your server in mainland Europe can be best reached via the US connection. Although you know that it isn't the best connection, the router doesn't and forwards your request to their peering partner in the US.
As you are on a Spanish island, I expect the connection to Europe mainland to have a much higher bandwidth than the connection to the US. There may be even bandwidth throttling going on on that line to divide the available bandwidth evenly over many customers. I wouldn't be surprised if the connection with mainland Europe is also much cheaper for the ISP in terms of EUR/gigabyte than the US connection and that they deliberately throttle all traffic through the US pipe just to keep their costs low.