Oops - spotted a small error in that conditional:
        if ($stanza->isa("DJabberd::Message")
            && ref $stanza->{children}[0]
            && $stanza->{children}[0]{element} eq 'x'
            && ref $stanza->{children}[0]{children}[0]
            && $stanza->{children}[0]{children}[0]{element} eq 'invite') {
Appears to be fine now. Probably. Heh.
cLive ;-)