ma, seriamente, io non la farei così:

Se ho capito bene, tu generi il codice che deve essere eseguito con il click del button lato server, e lo passi in un JSON. Io, allora, la farei, visto che usi prototypejs:

codice:
[{"status":"<script>
$('xxxx').observe('click',
function (){
    //Qui ci metti le istruzioni che verranno eseguite
    alert();
});
</script>","pulsante":"
<input type=\"button\" id=\"xxxx\" name=\"xxxx\" value=\"pulluo\" />"}]
Poi fai così

Codice PHP:
onComplete: function (transport){
      var 
json transport.responseText.evalJSON(true);
      
Element.insert(mainBox,{topjson[0].pulsante});
      
json[0].status.evalScript();

Così di setta l'evento onClick in maniera più pulita di una notazione DOM0 (che tra l'altro farlo tramite AJAX non funziona in IE)

P.S. Ma perché torni un Array di JSON?