hey Bruce -
The lighting software is set up so that each song is a separate cue stack (basically a series of sub-cues). Each cue stack is assigned a unique MIDI note (D2 for example), and once that cue stack has been called, the next note up (D#2 in this case) is the GO command to step through the sub-cues. In addition, Sonar sends controller info that gets translated into DMX to directly control the pan/tilt/color of a given fixture.
With direct cue activation, I don't need to send timecode to lighting, but video land does get timecode. Sonar is the master - it sends timecode to Vegas, but we haven't noticed any sync problems that seem to be an issue in your case. Once in a while, Vegas misses the start command, and I'll have to stop & restart playback in Sonar to wake up Vegas. I have a "cigarette burn" about 1 second into the beginning of the video track so I know if there's a problem before any sound/lighting/video happens. But as long as Vegas plays nice at the start, it stays locked throughout a 2+ hour show.
One thing that may help you with sync issues is making sure the sound cards on both machines are slaved to the same clock. Alongside the MIDI feed from Sonar with timecode, I also send wordclock from the master clock to the machine hosting Vegas even though there's no audio coming from that computer. That way, 1ms on one machine equals 1ms on the other, and even if somehow the timecode drifts, the machines should freewheel identically (or close enough to stay in sync till the timecode stabilizes).
Hope that helps!