piatkow nails it, that your approach seems to be...
...replicating the national information to rank in a local search
Google's priorities favor what is truly local. The geo-directories, eg, that have succeeded in Google tend to lead to unique information about the resources that physically exist in a given geo-area. Google has enough confirmations on what physically exists that this is going to be hard to fake.
Additionally, from the user point of view, someone looking for a widgetdealer in Wheresville isn't wanting to read generic descriptions about the town. They're looking for information about a dealer or company, and what that dealer's services are like, etc. This is where several large user-review sites, like Yelp in the US, have gained traction... and where Google trusts its Google+ local company pages. Google makes some effort to confirm that the listed places actually house the businesses, that the reviews are real, etc. Not even close to perfect yet, but they're getting better at it.
In organic search, though, for one site to try using multiple geo pages to pick up wider area coverage is likely going to involve a lot of internal repetition, risking Panda... and many irrelevant geo descriptions will probably also be risking Panda.
The difficulty (and to some extent the unfairness) that metro area or regional service companies encounter is not unique to Google... it goes back to the early days of Yahoo Directory and DMOZ, where multiple local directory listings were seen as a way of gaming the listings (which is often, but not always, the case).
Genuine service companies often operate out of low rent industrial warehouses (away from a metro area centroid), or from the owner's house in the suburbs... and though they provide service over, say, a 50 to 100-mile radius, they tend not to get treated well in geo search. This can carry over into organic. The service area problems are hard to solve.
Google "Places for Business" has a service area search, and last I heard, it wasn't working that well. That would be a question better suited for our Local Search Forum [webmasterworld.com
...] but it wouldn't be an organic question... it would be a Map Search question.