People who say "free" instead of "three" either were not taught growing up, or are incapable, of placing their tongue behind the upper teeth in the way necessary to produce the "th". Instead they take the lazy way and don't use their tongue at all.
They'd also say words such as "thoughtful" ("foughtful") and "therapy" ("ferapy") in the same say. They seem to be able to pronounce "though" correctly, however.
With regards to the "bath"/"barth" debacle, it's not so strange to me. I come from Northern Ireland, where we generally pronounce the letter "r" very harshly. The English have a very soft "r", so it tends to slip in even when it's not technically used in the word. If I said "barth", you would definately notice the "r". If a posh English person says it to me, I don't notice it. In fact, it sounds more like "bawwth" to me.
What irks me, however, is when stupid English people actually include it when WRITING words, such as the aforementioned "barth" ("bath"), "farther" ("father") and "carnt" ("can't").