If the person is still waiting, then I would prefer to say "I have been waiting here for hours". This sentence describes continuing action from the past up to the present time. Not using a progressive tense when it is appropriate qualifies as an error.