Why is that we're the bad guys for being satisfied with the current version of Perl, while you're writing code that can't be run under older, but still widely used, versions of Perl? (And I bet perl5.005 is still more widely used than perl5.6, btw.)
Then, you suggest that the only reason perl5.005 code would break under perl5.6 is that a programmer didn't follow the API. I recommend you peruse the perldelta documentation that comes with 5.6.1; it lists a score of bugs that were fixed from 5.6.0. Looking at that list of bugs, I'm glad we didn't upgrade to 5.6.0 at my company.
FYI, I can write perfectly good code and yet not have a desire to upgrade to the latest version of Perl. And someone could easily upgrade to perl5.6.1 while continuing to write awful code. You seem to be confusing these two issues.