Hello Andrew,
I believe it is because you are using a set-delayed (i.e., :=) where you don't need it. ListPlot is calling a function each time (and that function calls another function).
For your posted code:
try this:
xp = Subscript[x, Plot];
yp = Subscript[y, Plot];
(n.b., this is also much slower that it needs to be, because of the set-delayed in phi and theta).
Then this:
ListPlot[Transpose[{xp, yp}]]
produces this:
almost immediately.
However, this shows the real power of mathematica (the cut and pastes are not working quite right with your subscripts, but you should be able to see what is intended from your code):
xP[t_] := Cos[ Subscript[\[Phi], LeoToGeo][t] Degree]
yP[t_] := Sin[ Subscript[\[Phi], LeoToGeo][t] Degree]
plot = ParametricPlot[ Subscript[\[Theta], LeoToGeo][t] {xP[t], yP[t]}, {t, 0, Subscript[T, G]}, ColorFunction -> Function[{x, y, t}, ColorData["Temperature"][t]]]
Manipulate[ Show[plot, Graphics[Disk[Subscript[\[Theta], LeoToGeo][t] {xP[t], yP[t]}, 5]]], {t, 0, Subscript[T, G]}]
Sateliites are so much fun!