Для отладки, я думаю, я бы обнулил отступы и границы - проверил различия, затем попытался заменить IMG для тега DIV, чтобы проверить, является ли контейнер или IMG ошибочным. Возможно, даже добавьте пару свойств структуры, чтобы точно увидеть, что происходит:
#main {
padding: 0;
}
#picture {
border: 1px solid #EEE;
border-width: 1px 0;
}
/* and later... */
#main, #picture {
outline: 1px solid red;
}