Thanks for answering the questions.
First off, it doesn't sound like oxygen deprivation so that's good. When there's not enough oxygen in the water, fish can actually suffocate. (Weird, isn't it?) So, hmm. Fish hang at the top of the water either because there's no oxygen in the water, which we've ruled out, or because there's something in their environment that is causing them stress and they're trying to "escape." These things could be ammonia and nitrites and nitrates in the water, so do another water test. If any of these test in the unsafe zone, do a water change. You can also check your heater and make sure it hasn't overheated or stopped working. Make sure the temperature is around 78-80 degrees farenheit.
You should probably be feeding him 2 pellets at least 3 times a day, also. Maybe he's hungry.
If you just set up your tank within a few weeks or a month, then it's probably cycling. Ifyou've had your tank a long while, it's done cycling.
When you change the water, do you add a water conditioner like API Stress Coat or Seachem Prime? If not, you definitely need to do this because it neutralizes chlorine and chloramines in tap water. These chemicals are toxic to a fish and if they are present in the water, it could be causing him discomfort.
I hope this information helps you.
(SillyCone, you changed your avatar, didn't you? Heehee, I liked your old one.)