29.97 is the NTSC compromise for 30 fps. 23.976 is the NTSC compromise for 24 fps. 29.976 is a framerate that results from confusing these two numbers into a single bit of nonsense.
The bottom line is that if you have a mix of 29.97fps and 30fps, then every 1000 frames (about every 33 seconds) there's going to be a glitch. Either you have to double up a frame of the 29.97fps stream to keep up with the 30fps stream, or you have to skip a frame of the 30fps stream so as not to overrun the 29.97fps stream.
If you never have to composite 1000 differently-timed frames in a row, then you can fudge the two as being equal. But unless you can read the source code of your video editor, you don't really know at what point the program is going to try to "correct" the glitch. It might be uppity and try to do it half-way through the 1000 sequence to minimize the average divergence, rather than waiting until the divergence is indisputable. In that case, best to output your generated frames to match the frame rate of the rest of your content.