Vertical-alignment is not used for this case, my friend.
I suggest you 3 things:
1- Position the div in the right place
2- Create a relative positioned element
3- Use a table to control the vertical-alignment.
Otherwise, I don't thing this have a solution. Browsers nowadays have some problems with vertical alignment.