Look at this round-robin DNS example and ask yourself what you would expect to happen:
test.example.com. 60 IN A 127.0.0.1 test.example.com. 300 IN A 127.0.0.2
I expected that one record would be cached for 60 seconds and the other would be cached for 300 seconds. The reality is that both records will be returned with the same TTL, namely the lowest one. I haven’t been able to find this documented anywhere, but I have confirmed this behavior on both Microsoft and BIND DNS servers, so I’m assuming it’s some sort of a standard. I’ve also only found one mention of this (with a reply from a Microsoft MVP who obviously doesn’t know what he’s talking about), so I wonder how many other people are aware of this.