maximum delay() is 32767ms ?

Actually the fourth example of the macro does exactly what you expect it to do (garbage in/garbage out). And I do think an inexperienced programmer is much more likely to use the second case rather than the third.

I do wholeheartedly agree that documentation and education are the best prevention for this problem. But it has been my experience that many that are attracted to the arduino enthusiastically jump in the deep end with some playground code that is related to their needs and don't spend a lot of time reading about syntax or semantics :wink:

Anyway, the decision for the arduino team is to decide if they want to provide a little bit of a safety net here or not.

I imagine that those that read this thread are unlikly to easily fall into the trap so thanks for raising the issue