While I was living over there (about a decade ago), people weren't using "England" to refer to more than just the smaller region -- it was "the UK" for the national identity. That may have changed, however; I don't know.
As for "America", it is not merely the Canadians who can be irritated. Latinos from South and Central America may also consider themselves American, and refer to US persons as "Norteamericanos" when they want to lump us with the Canadians, or "Yanquis" otherwise. Whether or not "Yanqui" is offensive probably depends on where you're from.
Update for clarity, 22-Feb-2008:
The phrase "depends on where you're from" wasn't clear, and I apologize. jonadab makes a good point about the southern point of view; but I come from southeastern Massachusetts. When we refer to a fellow New Englander as a Yankee, it's a compliment. When we talk about New York Yankees, it's a pejorative. The folks in Sussex, England called me a "Yank" while I was there, and I don't think there was any intended coloration, positive or negative.
Whether or not "Yanqui" is offensive probably depends on where you're from.
The only place I can think of in the US where Yankee might be considered significantly pejorative is the deep south, where people who never got over the civil war use it as an epithet for meddling outsiders. Nonetheless, it is fairly universally (within the US) considered to refer mainly to people from the northeastern quarter or so of the country -- north of the Mason-Dixon line and east of the Mississippi, approximately. In other words, the area that was known as the North during the civil war. Calling someone from Alabama or Missouri or Texas a Yankee is not significantly different from calling someone from Wessex a Scott. I don't think it would generally be considered offensive, though, unless it's clearly done deliberately to provoke. Most folks I know would just write it off as a foreigner not knowing the local geography very well.