Hi,
that's a strange one !
First of all, how did you profile the application ?
A call to glDrawArrays with a count of 0 is perfectly valid in OpenGL (Only a call with a negative count is invalid and will generate an error which can lead to performance drop). If calling glDrawArray with a count equal to 0 causes performance drops, it is therefore an issue in the driver implementation. Try updating your driver to the latest version. If your fix with the test corrects that, it is clearly a bug on the driver's side.
At the beginning I was thinking of something else that can take time on the first render : SPARK has lazy render buffer creation. Therefore at the first render, if there is no spark render buffer attached to a group for this renderer, one will be created. However it doesnt really match the symptoms you describe.
Anyway, maybe I can make a fix somewhere in the renderer : if there is no particle to render, escape as soon as possible. However this may have border effect. I ll check that.
Finally, 1/60s is not really a big deal and should not be noticeable by the user.
Anyway try to update your driver, and keep me informed. Thanks.