Zdanie "I was waiting for you for two hours" oznacza fakt, że ktoś w jakimś momencie przeszłości czekał na kogos przez 2 godziny, ale juz nie czeka dłużej, innymi słowy między faktem czekania a spotkaniem upłynął jakiś czas, kedy osoba czekająca przestała czekac i zajęła sie czyms innym. Inaczej w przypadku "I have been waiting for you for two hours", kiedy to mówimy spotykając osobę, na którą czekamy bezpośrednio po okresie oczekiwania.
Na pewno niepoprawne jest "wait 2 hours" (czekałem 2 godziny), jak przytacza to Bartholomew