I don't think SEO really has to do with mark up. You'll notice that a lot of crappy coded pages rank high. SPF pages are proof of that. It may help, but it's not essential.
That image is part of an anchor. They use a XHTML DTD. Therefore, an anchor (<a></a>) can only have inline elements as its children. <div> is block, so it's not valid.
One thing you need to know: invalid pages work too sometimes. Most of the times, actually. If the problems aren't big, as to stop the rendering, browsers have algorithms to solve bad mark up in order to still offer a usable page.
Hence, even if they broke he rules, the page works.
About the wrapping thing. You can do whatever you like. Some will argue about the semantics, about DTDs. They're right. Only if you aim at being a professional. Otherwise, do what it takes to make it work the way you like.
I would not use so many divs, for sure. Probably I would use a list of some kind, and the wrapping div would not be necessary. But this requires a deeper look than 5mins on Friday night.