It would be easier to respond if you would post complete code or a new notebook. However, if you are not interested in the values for r after it first passes a limit, you could add WhenEvent to the NDSolve equations. In the code below I used your intial notebook and set rLimit to 2.5. WhenEvent stops integration when r hits 2.5, and records the time in tStop. So r is then r[tStop]. (Note that, for some reason, tStop needs to be defined prior to executing NDSolve or the value will not be saved.)
In[1]:= L = 2 Pi;
M = 1;
x = 35 Degree;
In[18]:= rLimit = 2.5; tStop = 0;
In[19]:= TotalThrust =
NDSolve[{r''[t] == - (4*Pi^2 / r[t]^2) + ((o'[t]^2)*r[t]) +
HeavisideTheta[5 - t]*0.51*Cos[x],
o''[t] == (-2 r'[t]*o'[t])/r[t] +
HeavisideTheta[5 - t]*0.51*Sin[x], o[0] == 0, o'[0] == 2*Pi,
r[0] == 1, r'[0] == 0,
WhenEvent[r[t] >= rLimit, {"StopIntegration", tStop = t}]}, {o [
t], r[t]}, {t, -10, 10}];
In[21]:= tStop
Out[21]= 5.27189