Не путай свойства и атрибуты.
testDiv.width // свойство объекта - любое значение
testDiv.getAttribute("width") // атрибут DOM-элемента - всегда строка
В HTML не все элементы имеют атрибут width (это не значит, что его нельзя задать самостоятельно), а для таких элементов, как Canvas браузер синхронизирует значения свойства и атрибута. В IE модель упрощена.
http://xpoint.ru/know-how/JavaScript/Atributyi
Ну и есть еще способ достать значение атрибута:
testDiv.attributes.width.value