hmm...
Bordern ligger per definition utanför bredden på ett block (dvs "utanför" dina 100% i bredd), och body är dessutom lite speciell... Följden blir att hanteringen av border på body tolkas lite olika i olika webbläsare och - kanske framför allt - beroende av vilken <!DOCTYPE du använder..
Den här CSS-sekvensen funkar såvitt jag vet i "allt" om du har en dokumenttyp som ställer din webbläsare i "standards mode":
html,body {margin:0; padding:0; height: 100%}
html {background-color: #999999; padding-left: 1px;}
body {background-color: #dfdfff;}