The entire .link div should be a link. Regions with hover states that appear to be links should be links. You can absolutely position the date and username links over the main link, if you have to.
I don't see why a hover state should always dictate a link. Especially considering this case with multiple clickable areas within the link div. (Such as Tweet, date, delete etc). The hover is subtle and merely used to guide the users eye along the row to the 'vote' link. Maybe the main link needs an underline to remove any possible chance of confusion here.
Sure, I could position the clickable links over a linked area, but it'd be a usability nightmare with a constant pointer in link state.
I'll give it to you on your first point though, the contrast on the text is slightly low.
The entire .link div should be a link. Regions with hover states that appear to be links should be links. You can absolutely position the date and username links over the main link, if you have to.
It's a good start though.