where does my function output from load-* go?

Ok, I’ve solved my problem, though my question (why I need to put die() at the end of my load-* function to let it show) remains unanswered.

I couldn’t find any way to use tb_show and at the same time send super global post variables to the destination url. tb_show simply calls a url and puts it in an iframe. I guess if I want the output to be truly ajax, I need to put a div somewhere in the page to be used by thickbox, and let the ajax call output to that div.

I finally settled for a method in which I pass the variables (which are just post id’s in this case anyway) to the url and read those with $_GET.

javascript:

$("#doaction, #doaction2").click(function (event) {
    var actionselected = $(this).attr("id").substr(2);
    if ( $('select[name="' + actionselected + '"]').val() == "bulkprint") {
        event.preventDefault();
        var checked = [];
        $('tbody th.check-column input[type="checkbox"]:checked').each(
            function() {
                checked.push($(this).val());
            }
        );

        var order_ids=checked.join('x');
        url="admin-ajax.php?action=bulkprint&order_ids="+order_ids;

        tb_show('', url + '&TB_iframe=true&width=720&height=460');
    }
});

(nifty simple url encoding trick taken from stackoverflow)