There should be an anti-rollover check valve where the fill tube goes into the tank. There is also the vent system to consider. The charcoal canister could be saturated, or more likely the vent tube could be clogged by spiders.
All that said, are you really sure the tank isn't full? That it says 1/2 tank is suspicious since that is what the gauge will read when the driver's side fuel sender has failed and the tank is anywhere from half full to over full. I'd drive around and burn some of that gas off to find out.