a=TLPOS(n)
This function returns "n" times the position of the timeline as a function of 0 to almost 1; so it will be zero at the first frame, and almost "n" at the last frame. This is intended to produce loops where the 0=1, such as rotation, where 0=360. In that case, you want the last frame of (for instance) of a 30 frame sequence to return 29/30ths instead of 30/30ths. This is because 30/30ths is technically the same thing as 0/30ths. So TLPOS(360) produces 0 at frame zero of thirty, and 348 at frame thirty of thirty... the next frame in the loop is frame zero, and that will produce zero, which is the same as 360 in terms of rotation. Simply put, to rotate continuously, use: TLPOS(360). Here's a continuously rotating asterize suitable for a looping animation:
10 A=ASTERIZE(0,0,255,0,20,TLPOS(360),7,0,1,1)

a=TPOS(n)
This function returns "n" times the position of the timeline as a function of 0 to 1; so it will be zero at the first frame, and exactly "n" at the last frame. For looping animations, TLPOS(n) is usually more appropriate. TPOS(n) generates one continuous sequence. Here is a brightness sequence from 0 to 100%, not suitable for looping:
10 A=BRIGHT(TPOS(100))
