The legality in the US is uncertain. If it were not online, it wouldn't be gambling, so proving that online poker is online gambling in court is not going to be easy.
Geo IP wouldn't have made a difference. You can buy an anonymous VPN account in Europe very easily, defeating the geographical lock. As with anything on the Internet (and in real life), people do what they want to, not what the law prescribes.
Using Geo IP wouldn't have been foolproof as you've pointed out, but it would have at the very least shown an intent to comply with the laws in the US.
The poker sites did not use Geo IP because they did not want to lose the revenue stream from the US, not because they thought it was technically insufficient... and thus the problem (or part of it).
Geo IP wouldn't have made a difference. You can buy an anonymous VPN account in Europe very easily, defeating the geographical lock. As with anything on the Internet (and in real life), people do what they want to, not what the law prescribes.