First thing that I spotted was the id="block" all over the place, id's are unique, ie: use them once and once only.
Just so you know, the margin is there but because you have floated the image it is "allowed" to break out of the element that contains it. This is a feature not a bug and is what allows text to flow around it.
It would be better to have the text floated rather than the image I think, I'll work on something tomorrow. I'm a bit tired now.
Remember to always validate as you progress. And also test in other browsers.