If you want a semi-colon delimited list of all selected options you need:
<xsl:for-each select="option[@value and @selected]">
<xsl:if test="position() != last()">;</xsl:if>
I can't see the need for the @multiple test; this only tests for the existence of the attribute by the way, not if it is set to true.
Joe (MVP - xml)