A CDG file/disk is basically an extension to a standard audio CD which includes some graphics data alongside the audio data, and I assume this graphics data will usually be for the lyrics data for display where-ever?
Critically, the timing data will be provided by the mechanics of playing the CD, and this is inherent to the process.
The midi file, which includes your SysEx data, contains timing data which must be interpreted/calculated by the playing process, and the actual timing is therefore created 'on the fly' by the playing process, and this timing is not related in ANY way to the timing of the data on the CDG.
Seems to me that you would need some sort of hardware, or maybe software, that could 'play' both sets of data side by side, and maintain the sync in some way. How it might do that reliably I don't know. There is no relationship between the data, except that they may BOTH be converted into HH:MM:SS.
It might be more possible to 'play' a midi file at the start of each CD 'track', this may remove a lot of complications.
The CDG format is I think a fixed/closed format, and I doubt anything could be done with that. It may however be possible to design a box that received midi instructions and converted that into control signals to control the device that plays the CDG data, to say select specific tracks and start playback, but there would be problems if you needed things like pause, rewind, etc. Then the SysEx file would be controlling the playing of the CDG data - to some degree - in accordance with the midi timing?
Geoff