can you post the css for that right floating div as well?
Anyway, to get your image, or what ever other element you have in mind, vertically aligned, the margin-top: 50% is not the way to go.
If you want a element vertically aligned center you have to positioned it absolute at top 50% and give it a negative top margin, half of it's own height. I.e.
position: absolute; right: 0; top: 50%; margin-top: -150px;(in case the element has a height of 300px)
Again, I don't know the properties of that right floating/positioned div you mentioned so I just gave it position right: 0;