Hey ChrisB, AFAIK the sky is actually rendered after everything else (or at least after the opaque stage). I don't know if you've ever seen errors where transparent objects don't appear to have any sky seen through them because you used a transparent shader in the opaque stage.
Yes skycubes etc are rendered after all opaque objects, but the render_sky event is triggered in the beginning of each view before anything else is drawn.