Это будет работать нормально, но может быть проблемой, если высота содержимого становится больше, чем размер экрана. Если основной блок может иметь размер экрана 100%, то я бы попробовал что-то вроде этого:
#main{
position:relative;
min-height:100%;
height:100%;
height:auto !important;
}
#footer{
position:absolute;
bottom:0px;
}
Все значения высоты приведены только для того, чтобы контент по крайней мере соответствовал размеру экрана, но он может расширяться, если контент становится больше.
Gushiken