Почему не работает vertical-align в блоке?
Это широко известный "глюк". Что бы его убрать, нужно поместить в тот же контейнер еще один div 100% высоты. Для наглядности я сделал его яркокрасным. Ширина его значения не имеет, даже если нулевая - это решит ваш вопрос.
jsfiddle.net/pc9k1cz7
И уберите везде position: relative, вы неправильно им пользуетесь...
при чем тут inline block? и вобще чего ты хочешь добиться хоть картинку покажи?