Hi Ian,
I don't know what I was on last night, but have checked and rollovers are not working as I said.
I think (others may confirm/explode) that each instance of the swap image behaviour has to have a distinct name/ID, i.e. image1, image2 etc for each instance to work:
<body onload="MM_preloadImages('plugins/images/learnbutton2.jpg')">
<p><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image1','','plugins/images/learnbutton2.jpg',1)"><img src="images/learnbutton1.jpg" name="Image1" width="123" height="25" border="0" id="Image1" /></a></p>
<p><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image2','','plugins/images/learnbutton2.jpg',1)"><img src="images/learnbutton1.jpg" name="Image2" width="123" height="25" border="0" id="Image2" /></a></p>
<p><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image3','','plugins/images/learnbutton2.jpg',1)"><img src="images/learnbutton1.jpg" name="Image3" width="123" height="25" border="0" id="Image3" /></a></p>
<p><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image4','','plugins/images/learnbutton2.jpg',1)"><img src="images/learnbutton1.jpg" name="Image4" width="123" height="25" border="0" id="Image4" /></a></p>
If I copy code for line 1 and paste to get more instances (so each has same name/ID) the roll-over fails. If these are being added dynamically, an incremental value will need (I believe) to be dynamically assigned to each instance.
The above code can be seen in a 'clean' page example here