Vertical-align: middle; не работает.
From css file :
#header {height:150px; text-align: center; vertical-align: middle;}
<div id="header">
<img alt="" id="logo" src="images/logo.png" />
</div>
Я бы обернул логотип внутри другого div, если это поможет выровнять его по центру оберточного div.