Thank you very much Robert and Peter... I will take care about both of your suggestions.

The gem spawning was already tweeked so that it spawns all needed gems in every case. But now I have spawn points, which are the only places for gems to spawn. Do you have any idea how I can keep the randomness and still be sure that all the needed gems spawn? I mean, what if the player has 90 seconds... flys around for 80 seconds without picking up a gem... How can I make sure, that he still can reach the goal? And do I really want that in such a case? I mean, the levels will be designed for a critical amount of time (the final levels, not the ones in this version). What if the player is idle for 20 seconds without pausing the game...

The spawnpoints are designed in the following way:
for example if I have 3 spawnpoints, then I can specify in the editor that 2 of them can hold a gem simultanously. So that the third is free in every case... this is needed to prevent the player from hanging around on a spawnpoint. The last picked up spawnpoint will never be the spawnpoint who creates the next gem... If there are more than one free spawnpoints then the game picks it randomly... but not the one which was just picked up!

So with this system... what do you think I can do to make it work?

One solution I can think of right now is the following:

While designing the levels I try to find an average amount of seconds the player will need to pick up a gem...

With this time I can now precalculate a chain of gems which will contain all needed gems and does not exceed the leveltime.

So some kind of formula would be:
Amount of gems in chain * average time <= leveltime