Just tested that but unfortunately, I think, it seems to still suffer from the blocking problem.
To see what I mean try changing StartProcess.prg to the following:
*startprocess.prg:
PUBLIC loFoxServer, loEventhandler
loFoxServer = CREATEOBJECT('testserver.oTestServer')
loEventHandler = CREATEOBJECT('oTestCallback')
loFoxServer.Advise(loEventHandler)
DO StartAsyn.prg
FOR F = 1 TO 20
? F
doevents
sleep(1000)
ENDFOR