Ail, while I can see your logic, you don't take into consideration the audience you refer to. Let me explain.
"Casual" isn't a game type preference as much as it is a time allotment to gaming. Casual gamers play for an hour or 2, a few times a week at most. My gaming pattern is considered casual, since I have a lot going on in my busy adult life. Yet, I'm not playing Wii Sports when I play. I'm playing Zelda, or Bully, or Metroid Prime 3, games I've owned for a long while but haven't beaten yet.
Now, take that idea - that there are gamers out there who have limited time, so those games that take 20+ hours might span a good year or so. They're not going to rush out and get new games until they beat the ones they own.
I will again use myself as an example - I have yet to get many games I want - Madworld, Hotd Overkill, Super Mario Galaxy, Mario Kart, Smash Bros, and several more. There are 2 reasons for this - "fun cash" is limited, and because of this, point 2, I can't justify buying new games when I haven't beaten the ones I own yet. Will I buy the games I just mentioned? Sure, in time as I can justify it.
Now, I'm not alone in this matter. Take that into consideration along with the thought that most games are bought around the Nov-Dec holiday season. Mario Kart had wild sales in December, half a year after it launched. Holiday legs for a spring game aren't uncommon.
So while you make a logical analysis, you need to factor in the type of gamer you're discussing here better.