Yes, I noticed that your script would work fine with onload events, but would cause some problems if you had e.g. multiple widgets, each with submit buttons and onclick events.
This would cause, like you pointed out, a new script tag for each 'click', to be added to the DOM, it would also cause the queue to keep growing...
After I saw your code, I refactored it into a JSON library, and next I will have to add logic to handle the issues that was mentioned above.
I've heard that there might be an issue with IE caching requests, but I haven't expericened that so far. This might also have to be handled in such a library.
This has been a really educational thread for me, looking forward to see something like this appear in the MEAP