I don't think it's the word "Paki" that offends - people from Pakistan don't get offended by it.
What causes offence is when people from India are called a "Paki" - because they're not from Pakistan - and also because India and Pakistan do not like each other.
Pakistani people see it as a shortened country name - just like the British are not offended by being called Brit's and Australians are not offended by being called Aussies.
People from India are offended because they view the word "Paki" as being derogatory and insulting.
I once had a discussion about that (and other interesting cultural subjects, such as Hinduism) with an Indian customer that I have known for many years. He told me that he didn't actually mind being called a 'Paki' because the word translates to 'clean' or 'pure'. And while he didn't particularly like being mistaken for someone from Pakistan, to him that was not really any worse than say a Canadian being mistaken for someone from the US, or a Brit being mistaken for an Aussie, etc.
He's a first generation Indian guy who came to Britain in the 1970s, so he has experienced 'real' racism. I'm talking about physical attacks on his property and verbal abuse, not just the stereotyping that we're seeing here which, let's face it, we all participate in one form or another. It's just human nature. Whether it's through our own experiences or from what we're told, we develop a profile in our minds of what someone from that nation, or even region, is 'typically' like, be it a Brit, Aussie, American, Scouser, Texan, Scot etc, etc. But even if there's any truth in the origin of the stereotypical profiles, at best they represent an 'average' of some people from that region. At worst, they're outdated stereotypes that represent a select few, a fact that anyone with even an ounce of intelligence will be fully aware of, reserving their use for humorous purposes only.
I think it's good that there are national/regional/cultural differences, and that the differences should be recognised and celebrated. The problem is that, because some people choose to direct hatred at a particular group/race, we try to stop it by pretending that those differences don't exist instead of trying to stop the hatred.
Imagine, for example, Australians were not white (or were in some other way noticeably different, such as an extra head or leg maybe) and they suddenly started emigrating to Britain in their thousands (for the better weather, or whatever reason

). Hatred and resentment would start to grow and there would come a point when phrases like 'F**king Aussies' would start being used offensively by those who felt in some way threatened or displaced by the immigrants from down-under. Now imagine that we try to resolve this, not by stopping the aggression towards this minority group and making it wrong to aggressively prepend 'Aussie' with expletives, but instead by making the word 'Aussie' offensive and pretending that Aussies were just like us. Sound familiar?
I find it ridiculous how we continue to outlaw perfectly normal words because they're deemed offensive, not because the words themselves are offensive but because of the offensive way in which they have previously been used. Retarded, for example, was once a perfectly acceptable medical term to describe a mental condition/disability. The word
spastic, is another example: Growing up in 70s/80s Britain, we had a charity known as the Spastics Society, with shops in every town,
proudly displaying the name. It was a perfectly acceptable word back in the day but some people began to use it offensively. Like the word 'retard' it was rarely directed at anyone with such a disability, but used as a derogatory term of offence to imply retarded or spastic like behaviour in someone with no such disability. The Spastic Society eventually changed its name to Scope as a result. I wonder how long it'll be before
scope becomes an offensive word.
Point being, they're all just words. It's how the words are used that matters.