Well, firstly you can get the 2D screen position of an object by using OBJECT SCREEN X() and Y() - most people would have a dummy object that is hidden, and positioned at specied positions or on limb positions before grabbing the screen location. It would work with sprites for example, you could position a sprite at the right place.
The old rotating plain trick is traditional and still heavily used, in fact I can't think of a better way to handle flares etc. One thing you can do is disable the object zdepth, DISABLE OBJECT ZDEPTH Objectno will make the object appear in front of all the other objects, so it would stop the glow from disapearing inside polygons (which ruins a lot of the effect) - but you have to come up with some sort of check to see if you should show the glow.
An idea:
Say had a light and the light position was marked by a limb pivot point, allowing you to grab the exact light location by simply using the LIMB POSITION X() etc commands. Now if your light was textured with a nice bright whitish yellow, you could calculate the screen position of the light source and check the colour of the pixel. If the pixel is very bright, show the light, otherwise hide it. The traditional method would be to use a line of sight system which involves collision, and would need a pretty good system to allow that sort of accuracy.
Van-B
My cats breath smells of cat food.