Try using the html 4.01 doctype. I validated with your code and this doctype and returned no errors in validation.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
validation errors when I put in the doctype (like <img /> instead of <img>).
Yes depending on which doctype and whether its strict or transitional, tags have to be closed in certain ways. Which is why I suggested, with your current code, that you use html4.01.
You shouldnt say quirks mode works for me. lol You should ALWAYS use a valid doctype from the start.