Remove the 'type="text/css" ' which hasn't been needed in years. Also remove the comment tag for the same reason.
Be aware that scrollbar CSS properties are also non-standard and only work in IE and, possibly Opera, but nowhere else.
Also, nothing changed after I removed the closing slashes so I'll leave it that way.
Because browsers will make wasted effort to correct your error instead of doing their job. It's part of what's called "tag soup".
I don't know how or why the presence of DIV tags eliminates the space between rows but when something works for you, you are usually not interested in knowing exactly why -- it's when something is not working that you strongly focus on it.
Speak for yourself.
The reason is div elements are block level and images are inline and have baseline height to allow for font drop downs (the name of which I can't think of cause I've been drinking wine and why I'm in no shape to correct or test your markup). Try adding 'vertical-align:bottom' to your CSS for the images and see what happens in your markup without the divs.