Paradox of time travel
Ruby, 510 460 bytes

p=[0];w=[n=x=0]
i=gets.split.map{|s|
if x!=1
if s[0]=="A"
w&lt;&lt;n
else
if s[0..1]=="T+"
t=n
q=s[2..-1].to_i
if w[-1]==t||(w[-1]&gt;t&amp;&amp;w[-1]&lt;n+q)
w&lt;&lt;w[-1]
n+=q
else
n+=(t&lt;p[-1]&amp;&amp;n+q&gt;p[-1])?q%(p[-1]-n):q
end
elsif s[0..1]=="T-"
t=n
p&lt;&lt;n
n-=s[2..-1].to_i
x=(x==0&amp;&amp;w[-1]&gt;0&amp;&amp;t&gt;w[-1]&amp;&amp;n&gt;w[-1])?1:0
else
t=n
q=s.to_i
if w[-1]==t||(w[-1]&gt;t&amp;&amp;w[-1]&lt;n+q)
w&lt;&lt;w[-1]
n+=q
else
n+=(t&lt;p[-1]&amp;&amp;n+q&gt;p[-1])?q%(p[-1]-n):q
end
end
end
else
break
end}
p x


Input

As per example

Output

0 = No Paradox, 1 = Paradox

Sample

The sample input provided: 1000 T+250 250 T+0 500 T-200 100 T-50 125 A 225 T-400 500 A 100 T-200 150 T-25 100 T+100 50 A 25
returns 1, indicating a paradox occurred.

Notes

This is not only the first codegolf exercise I attempt, but it is also the first Ruby program I have written. Hence, it could probably be even shorter.

Brief Explanation

p: Infinite loops
w: Alternate timelines
n: Now (regardless of timeline)
x: Paradox


Infinite loops will only occur while traveling forward in time. I am happy for any feedback - especially if it is pointing out a better way to solve this.