Since all handling of the number of events per run (started by G4RunManager::BeamOn()) is done with standard 32-Bit integer type variables there is a hard limit of 2.15*10^9 events. However, some applications can't merge events from several runs due to data acquiring issues but need a number of events per run above the standard integer limit. A desirable solution would be to replace the current 32-Bit number of events data type by a 64-Bit long integer in all event handling classes. I don't see any reason why this would be a problem to implement. But it has just to be done by someone of the geant4 team for the next release.
I don't know how many primary particles you have in your individual event, but please consider having more primary particles (and more primary vertices if you like) so that you can live with 32-bit integer. There is no hard limit for number of primary particles per event. Makoto