openItemsDynamic and onOpenEnd

Does onOpenEnd get run after openItemsDynamic is done?

We use onOpenStart which loads a loading.gif image and this works fine with openItemsDynamic but its as if onOpenEnd never gets run because the loading.gif image stays there even after openItemsDynamic is done.

Yes, each call of onOpenStart must have related onOpenEnd.
You can try to use “onOpenDynamicEnd” event which occurs when last item from specified in openItemsDynamic command will be opened.