nluparev: Нужно иначе подходить к задаче: либо задавать минимальную ширину общему контейнеру, чтобы блоки внутри не конфликтовали, либо делать один из блоков с постоянным размером а у другого постоянный отступ. То, что хотите вы, подразумевает, что #main изменит своё поведение как только .menu-wrapper достигнет определённого размера. Такие вещи отлавливаются только javascript'ом.
У вас всё верно, просто #main перекрывает часть .menu-wrapper и кажется, будто min-width не работает, хотя ширина фиксируется и частично залезает под #main.
Подобные функции лучше вызывать в момент window.onload или позже, иначе offset может быть некорректный, так как страница ещё не сформирована окончательно. Может проблема в этом?