As others have said. Its more about perception that anything else. Maybe in the past a company saying "we want to pay for your call" was an inviting prospect but with call costs and inclusive minutes as they are today, I'm not sure so many people care these days.
Having said that if you want to portray yourself as a national company business a non-geo number is pretty much the way to go. Case in point are companies like Virgin, BT, EDF you name it. They all use national (or non-geo). As others have said an 03 number can do this just as well, but you'll be surprised just how many people think they'll be charged loads for calling 03 numbers.
We used to have both an 03 number and 0800. Way more calls on the 0800 as you may expect. I believe there's still a bit of confusion for consumers as to how much it costs to call an 03 number due to the many permutations (0300, 0333, 0330, 0345..)