Yes and no. I'd agree that the preposition in would normally be the better word to use, particularly when an activity happens inside the city limits. However, that's not hard-and-fast, and I don't quite like the inflexibility of the rule as you stated it: 'in' has to be used for cities.
For example, the word at can sometimes be used to mean "near", as in,
The soldiers clashed at Gettysburg.
The word at might also be used when talking about a momentous event, where the city is considered a meeting place:
The treaty was signed at Versailles.
In the case of:
Printed at Chennai, Bangalore, Hyderabad
I read that as:
Printed at [the presses in] Chennai, Bangalore, and Hyderabad
which sounds just fine to me.
When the use of a preposition doesn't match a rule of thumb you've been taught, chances are that the word is simply being used in a way that's not quite so ordinary – not that the "wrong word" has been used.
Ah, prepositions! Those two- and three-letter words can often be much more flexible than we sometimes initially realize.