Sorry...I omitted the most important detail. There is a roVideoScreen method called SetPositionNotificationPeriod which tells the player how often (in seconds) to notify you of position events. If you're not getting any position events, it's most likely because you did not call this method. However, you should still be getting other events.
videoscreen.SetPositionNotificationPeriod(1)
while true
msg = wait(0, videoscreen.GetMessagePort())
if type(msg) = "roVideoScreenEvent"
if msg.isPlaybackPosition() then
position = msg.GetIndex()
print "got position event"
elseif msg.isScreenClosed() then
exit while
endif
endif
end while
See the component reference for more details.