OK, when clearing the cache I get the "Resource URI already exists for resource id= 1;..." message and dumping the whole cache dir didn't help.
I've noticed all the sites that don't work are the later versions with "Freeze URI" under page settings. Thought, hmm... just maybe. So I manually set & removed for each page ie. set it, saved it, empty cache, set it back to unchecked, save, move on to the next one... this got rid of the "Resource URI already exists" messages. Once all pages were done I set use friendly URLS and cleared the cache (which cleared with no warnings). Tried it out and this time, instead of every link going back to the home page, the addressing works how it should but instead of the page coming up I get 404 Not Found "The requested URL /index.php was not found on this server".
This is happening with all the 2.1 and later sites on this server. Would the PHP version cause this problem? It's version 5.1.6 on this server which should be fine.
Damn this is getting confusing.