I can see where you are coming from Bullgrit, but I am still sorta more in line with Piratecat. You gave hints, you pulled punches, and you actually metagamed the entire encounter trying to get the PCs to do what you wanted, without telling them what you wanted, and if they knew the dragon stats, they might have thought that you were trying to go easy on them so that they could win. They had ample opportunity to change course, but you passively let them climb into the meat grinder. If this was going badly, there could have been a solution. I will begin by saying that I have basically done the same thing as you have done, and it was unfun. I totally understand the frustration, and how easy it is to have this happen. That being said, I approach things differently now, so this has not been a problem since.
Here is what I see as the problems, and possible solutions.
1) Metagaming was inherent in the encounter, but you didn't use it to your advantage. You set the encounter difficulty to begin with when you originally statted it out, and you softened the encounter at times to make it easier, but you didn't change any stats. You tried to make it easier for them not to die, but not easier for them to be victorious. Your objective and the players' objectives were not in line.
I see this as a common difference between gamers that centers around the idea of when something "exists" in the campaign world, and what "exists". Many DMs decide that when they stat something up, or write it down, or even just decide on something, that thing "exists" in their world. Others feel that only when it hits the play table, and only
what hits the play table, "exists". Otherwise, it was just an idea. I now only require things to "exist" in my campaigns for continuity, so only thing that have actually hit the table "exist" in my campaigns. Much easier to make gameplay smooth, and narratives are not at all screwed up this way either. Stats don't exist in my campaigns either, so I don't mind changing them. Stats exist to facilitate game play, but the story elements are what can gain the status of "existing" in my campaigns.
You could have changed the stats on the dragon. That would have been a simple solution. Hard for "sandbox" players to do, but it saves games. When declaring yourself a "Status quo...ist"

, you have to ask yourself what status quo you are maintaing, and why you need to do that.
2) You seem to have decided not to communicate with your players. You gave many hints, and you hoped that they would catch on, but you never just told them what you thought about what was happening.
This is something that I see expounded upon at great length in many "old school" discussions (not that I have any idea about how old/new school your game is

). It often comes down to "The players should have paid more attention to what was happening. I am an impartial arbiter of what exists in the game world, and they need to react to that. I communicate everything about the game world through RP." I would say that this style of play turns out to be "Guess what the DM is thinking" more often than not. When players are supposed to take hints, and the hints are in the form of a very metagamed sets of actions or assumed knowledge, then the hints are just inadequate communication. They could have seen you deciding not to use all the dragon's abilities and thought that it must mean that you meant for them to win. If you didn't just mean for them to win, then why not use all the dragon's abilities? Or they could have missed it entirely and kept thinking "He must be getting close to death, we've hit him a bunch of times!" Clueless players are not rare.
You could have just told them that they were being foolish for trying to attack a creature that is this powerful without preparation. You could have said that you statted the encounter for characters with certain abilities, and that they don't have them. If they didn't know or realize this, then it was not their fault for being trounced. If they did, but didn't care, then they deserved what they got. They are then just telling you that they want to start an new campaign.
All that being said, it was not just your fault. They seemed to be asking for it in some respects. I am just relating what I think was your role in this, so that next time they can't blame it all on you.
As a follow up to the encounter, did you ask them how they would want a scenario like this to be handled in the future? If you think that they should have the brains to retreat, but they think that you should have the DMing acumen to adjust encounter difficulty on the fly so that they don't lose no matter how stupid they are, then you will have this problem again. Having both sides lay out exactly what they expect of encounters like this would help avoid repeating this episode.