Seems that the fd polling queue ( sys_addpollfn() etc ) is polled in sys_pollgui() - at least this small change makes [netreceive] work in batch mode here:

diff -ruw pd-0.42-6/src/m_sched.c pd-0.42-6-cm/src/m_sched.c
--- pd-0.42-6/src/m_sched.c 2010-04-09 04:42:33.000000000 +0100
+++ pd-0.42-6-cm/src/m_sched.c 2012-10-19 12:00:11.000000000 +0100
@@ -571,7 +571,10 @@
sys_time_per_dsp_tick = (TIMEUNITPERSEC) *
((double)sys_schedblocksize) / sys_dacsr;
while (sys_quit != SYS_QUIT_QUIT)
+ {
sched_tick(sys_time + sys_time_per_dsp_tick);
+ sys_pollgui();
+ }
return (0);
}