I also ran into this.
I even "patched" /etc/init.d/irda (and /etc/rc.d/init.d/functions) to correct
this. Sadly, the machine I have this patch on, is now in repair. I'll try to
attach my patch shortly.
The problem is caused by
daemon /usr/sbin/irattach ${DEVICE} ${ARGS}
in start().
My analysis: irattach will fork quite quickly and the old process will exit(0)
directly after forking. This has as a side effect that the initscript will
always return success. All subsequent errors in daemon mode (for instance errors
in [irattach/irattach.c:] start_tty()) will not be noticed by this initscript.
(A less important issue is that the initscript uses /var/lock/subsys/irda. I
think it would be more elegant to use irattachs pidfile: /var/run/irattach.pid.
I corrected that also in my patch.)
Please prod me if I haven't attached my patch in a few days.

Created attachment 119282[details]
patch to /etc/rc.d/init.d/irda (and to /etc/rc.d/init.d/functions)
As described in my earlier comment:
- adds --quiet option to daemon() in /etc/rc.d/init.d/functions
(that file is part of the initscripts rpm)
- uses that --quiet option in /etc/rc.d/init.d/irda
- uses /var/run/irattach.pid and not /var/lock/subsys/irda
I'd appreciate any comments.