pratto:
Let's stipulate that it is a bad way to program, that it ties up the processor, and so on. But if some maniac wanted to know, just to know, is there a maximum number of millisecond delay built into the Arduino Uno ? What would the answer be ?
The millis function wraps around every 49.71 days, so that's the maximum delay (because all the delay function does is to poll millis()).
If you write your own delay function, you can improve in this, viz:
for(int i = 0; i<10000; i++) delay(30L*24L*60L*60L*1000L);
which will delay for 10,000 30-day periods. About a thousand years.
Is there a maximum? Sure! if you use 1k of memory for state, you can count to 2^(1024*8), about 10^2466 (1 followed by 2466 zeros). Multiply that by 30 days (the amount you can get out on one call to delay()), and that's how much of a delay you can get using 1k of memory for state.
But I think the sun is due to go red giant in a few billion years. A billion years is about 10^10 30-day periods, which is way less than 10^2466.
And that's why people are finding your question a little pointless. First, it's 50 days with delay(); and second, "what's the maximum delay?" is a question ill-defined enough to admit of answers like these.
The other very important reason is that delay() is not going to be accurate enough over those kinds of periods of time. You can delay for a week, if you want, but after a couple of months of operation the "OK guys! Start now!" time is going to be far enough off that it wont be the same time of day. Once you start doing thaty, you are better off with a Real Time Clock (RTC).