Sí, div.offsetHeight/offsetWidth (sin style) funciona bien en todos los navegadores modernos con el doctype adecuado (document.compatMode=CSS1Compat).
Una prueba clásica para comprobar que el navegador utilizará bien eso es esta (la parte de box model compat):
Código:
var domCompatible=function(){
/*---- dom compat ----*/
var a=[];
if(!document.getElementById || !document.createTextNode || !document.createElement || !document.removeChild || !document.createDocumentFragment || !a.push) return false;
/*---- box model compat ----*/
var test = document.createElement('div');
test.style.visibility = 'hidden';
test.style.width = '100px';
test.style.padding = '100px';
document.getElementsByTagName('body')[0].appendChild(test);
var w = test.offsetWidth || 0;
if(w!=300) {return false;}
document.getElementsByTagName('body')[0].removeChild(test);
return true;
}