This problem is a double edged sword cause by progress and loose compiler settings.You can find similar issues with different browsers and versions. Consider this pseudo HTML code (tr) (td) (/td) (td) (/tr)
The intention here is two table details in a table row. The second detail does not include the second closing detail block. Some browsers fill in the blanks and display the table properly while others may not. In the case of this thread, .net 2.0 will ignore the warning and fill in the blanks at runtime. However, .net 4.0 is more strict and will cause an error. The DotNetNuke framework adds more confusion because it attemtps to hide the actual error with a message as informative as the period at the end of this sentence.
From a developer perspective, VS2008 is not as "smart" as VS2010 to recognise these issues. Some are harmless, others may cause downstream problems that can break an application at runtime. Since DotNetNuke involves many projects from different sources and compiles with all sorts of warnings, many developers simpy turn off these warnings just to get the job done.
My dream is to have a Clean Build of DotNetNuke. I have reported dozens of issues to Gemini as I find them. If we all used the "Treat all warnings as errors" compiler setting, I believe our world would be a much happier place.
AFAIK, these quote issues have been fixed.