I think you're describing the approach mod_aolserver took. I don't know too much about it, but it's more complicated than just rewiring the return function. The biggest issue with using a binary interface to wire openacs into another web server is that it has to be updated when the interface changes, or rewritten for each new web server you want to support. I think that's why the idea continues to not gain traction (aD tried it with both IIS and Apache).
I feel pretty good about the prospects of running portablensd under apache and iis, and avoiding the binary issue by using fastcgi. It worked well on the platforms I tried it on (apache 1.3x/win32 + apache 2/rh9)
I got hung up on implementing ad_form and the new listbuilder -- the templating code was too messy and too different from Michael's nstcl for me to reconcile. I don't think it would be hard from someone better at TCL than myself (like Michael, say).
There were a few other issues, but no show-stoppers.
fwiw, I did plan to look for libnsd and fall back to tcl-only routines if they exist, but I'm not sure if the functionality exposed in libnsd offers enough of a performance increase to justify the maintainence overhead (i.e. adding another row to the pnsd test matrix.)