If I include a call to millis (remove comment in source above) however it will work. It seems to me that if there is no call to millis - any sketch using interrupts (serial input in this case) will fail.
It seems to me that the interrupt vector table gets completely screwed up when there is no call to millis().
Interesting - would be nice if others could try as well with version 0017 (on XP SP3).
The example I gave is constructed to highlight an issue I had with a bigger project. It's not related to serial communication specifically, but just easier to test. Also note that it doesn't require an explicit call to "millis(). If I call delay() - which in turn calls millis() it will also work.
For some reason this leaves global interrupts disabled, but only when millis() is not referenced by the sketch. I tried moving interrupt enable from "init()" to "main.cxx" and the sketch then worked as expected. Such a change however would defeat the purpose of the patch.
Until the issue is understood/resolved I can only advice against applying the referenced patch.