This is a LONG SHOT guess… BUT,
I am guessing that Cubase stores the grid definition with the project information file, NOT with the audio file itself. So, the question is how does Cubase really know when it loads the project what the audio file SOUNDS like? I would say it doesn’t. It can’t tell one audio file from another, sound wise. What if you take one audio file, define the grid for it. Duplicate the track, then bounce the duplicated track. The original clip still has the tempo grid data associated with it. Then close Cubase and secretly (don’t tell anyone) replace the audio clip with one of the other audio clips (of course it must have the same name and probably the same length). When you open Cubase, there is a chance Cubase won’t know the difference and apply the tempo grid data to the new clip. Then, duplicate that track, bounce the new one, wash, rinse, repeat.
It is probably more likely to work with a more raw type of audio format, something that Cubase has less chance of identifying that the actual file has been changed. Maybe .WAV? Compressed audio files of the same length in time may not be the same size in bytes which may throw Cubase off.
JUST A WILD GUESS.
EDIT. If your source audio files are different lengths, types, bit rates, etc., in order to get them all the exact same length, bit rate, etc., you could import all three to tracks and batch export them to get them all exactly equal other than the name and actual audio they contain.