Although documented nowhere (!!!) ProDOS trashes the random counter locations $4E/$4F. Is discovered this because my TCP connections didn't have random local ports.
It's a really funny coincidence that David Finnigan discovered only 3 years ago the very same issue because of the very same reason: https://groups.google.com/forum/#!topic/comp.sys.apple2.programmer/1ciep_Oetvo
.import __dos_type
+ .include "apple2.inc"
.include "mli.inc"
.bss
lda __dos_type
beq oserr
- ; Call MLI and return
+ ; Save random counter
+ lda RNDL
+ pha
+ lda RNDH
+ pha
+
+ ; Call MLI
jsr $BF00 ; MLI call entry point
call: .byte $00
.addr mliparam
+
+ ; Restore random counter and return
+ tax
+ pla
+ sta RNDH
+ pla
+ sta RNDL
+ txa
rts
; Load oserror code and return