WebKing:Piszesz strasznie zawile. Z tego co widzę, kod masz dobry i powinien on działać.
Może chodzi Ci o to, że jak masz mniejszą rozdzielczość - np. 1024 x 768 px to DIV o id "page" ma swoja ustalona szerokość 1050px, a DIV o id "footer" ma 1024 (minus obramowania przeglądarki itp.). Przez to przeglądarka "nie rozciąga" go na całą szerokość strony (szerokość strony jest większa niż szerokość widzialna), a width: 100% daje 100% szerokości widzialnej - zgadłem?
W takim przypadku musisz inaczej to zrobić niż width: 100%
Może sprawdzaj szerokość całej strony w JS i dynamicznie ustawiaj szerokość tego kontenera "footer"?
Innego wyjścia nie widzę.
No chyba, że założysz, że 1024 x 768 już bardzo mało osób używa

Albo możesz zmniejszyć szerokość całej strony z 1050 na 1000 i wtedy będzie też ok na tej rozdzielczości