I think it uses 360 degrees, with decimal precision, so it'll hit its target.
True, the bullet object uses 360 degree rotation. Anyone wanting to know more about the bullet movement should check out the Ghost Shooter tutorial... the monsters in that use bullet movement. Bullet movement can do a lot of stuff that doesn't actually have anything to do with bullets.
And I see you're using part of the clever pathfinding routine you posted on TDC <img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" />
As for the memory usage, just have the bullets destroy themselves when out of the screen, or on contact with an obstacle or player. Instant hit means they'll be gone in just a couple of cycles.
I don't see how the memory usage would be all that much higher than a raycaster updating every cycle for every sentry on the screen. It would be pretty negligible. And creating a line-of-sight routine with the bullet only constitutes coding a few events, as Dines showed. If there were a dedicated raycasting object, you'd still be creating at least three events with it (shoot ray, does the ray hit, does the ray not hit), so you'd only be cutting down your events by a small handful when making a line-of-sight routine. I just don't see how cutting out that handful of events would warrant the time it would take to develop a whole new object. An object should make the event coding process easier by replacing large amounts of events, not small ones. But hey, the SDK is there for a reason, maybe someone could take a crack at it anyway.
As for lighting effects, yeah it would be pretty useful, depending on the scope of the object. It's a pretty big leap from casting a ray to rendering a shadow.