A: 

I came up with the following javascript which I put at the bottom of the page, under the Uservoice widget code. It loops round every 100ms and tests whether the Uservoice object is defined. Once it is defined, it calls the Popin method to popup the widget:

<script type="text/javascript">

// Show the Uservoice feedback widget
function _autoPopupUserVoice() {
    UserVoice.Popin.show(uservoiceOptions);
}

// Wait for the uservoice JS object to load, fire _autoPopupUserVoice when it is finished.
if ((typeof window['UserVoice'] == 'undefined')) {

    var timer = setInterval(function () {
        ok = false;
        try { ok = (typeof window['UserVoice'] != 'undefined');} catch (e) {}

        if (ok) {
            clearInterval(timer);
            _autoPopupUserVoice();
        }
    }, 100);
}
</script>

I'm sure there's a better way to do this. Perhaps there is even a callback function that I'm unaware of?

Update (8/Dec/09): This method is semi-approved by Uservoice:

Thanks for contacting UserVoice support. That method looks perfectly reasonable. We don't have any in built methods for doing this (currently, we are looking at this type of functionality) but the code described even though quite hacky, should do the trick.

Tom