"I know most clients clocks are not precise, but if they have their timezone wrong, I don't why that's the BBCs fault."
The whole issue here is that someone complained that the BBC's clock was wrong...while the whole time the BBC was using the local user's computer time as the source. So the end user having their timezone wrong would bring us back to step 1 in this dilemma. Hence why the problem isn't as easy as you think it seems to be.
The BBC can't use anything set locally on the end user's machine this basically leaves the IP address as an attempt to find the correct location, now try and find an IP -> geographical location database that is 100% accurate, as if it isn't accurate for one user...we're back to step 1 of this dilemma as that person can then complain that the BBC clock is wrong.