Nagash: since I KNOW they are a wrong way of doing things.
No, it just means that it's wrong for you and your situation
You could solve this issue by simply using a class instead of the ID, so instead of:
<body id="MyPage1"> use <body class="home">
which could easily be applied to the aspx page
Me.Body.Attributes.Add("class","home")
and your CSS could be like, and i am using examples from the links you gave above
instead of:
body#home p { color: #69C; }
use
body.home p { color: #69C; }
problem solved, and all without mucking with the way .NET wants to name it's controls
"If you make it idiot proof, they'll build a better idiot"