Ok - what I have.

1 Intel Computer - pretty Mac'd out
Cubase 4
GigaStudio 3
Sibelius 4
Fruity Loops Producer
and a bunch of VST & Sample Libraries
an SY77 Yamaha Keyboard for MIDI control (from around 1986 or so)
and a Layla 24 ECHO sound card interface

What I do.

I typically do all of my mastering etc in Cubase. I use Fruity Loops to just do the weird stuff - "odd pads - we're pulses - etc." I use Sibelius to control GigaStudio via internal MIDI so I can write music in notation and have it play out via the internal MIDI to GigaStudio which has the nice sample libraries loaded up. Etc and so on. I don't use MIDI in the convensional sense (physical instrument to software etc) except for a little via Sibelius.

I typically use all this software to dump .wav files that I can put into Cubase for mixing / processing etc.

My problem. The more I get into this the more I realize that, for example, a 120 Tempo in Cubase might not be a 120 Tempo in FL might not be a 120 Tempo in Sibelius. Nothing is playing at the "true" same tempo. I tested this by doing 8 measures of quarter notes in all of my software - dumped it all out - imported it all in Cubase - and zoooooomed way in to line the starts up perfectly - and after a few measures they are all out of time.

Is this a MIDI sync problem?

I know all these different software packages can get MIDI clock info from other sources - but how does that work? Can I get something to tell each piece of software what a 120 tempo is? Most of this software doesn't like being up together as they fight for drivers etc... Is there a simple piece of hardware that can send this type of data? Like MTC or something?

Any suggestions? My SY77 is too old to send anything other than Start/Stop type time stuff.

Anyway - this is really frustrating and any help is greatly appreciated :-)

Thank you in advance.