The icons are only defined on the OVFIndex (it was hardcoded there) but the OVF envelope document have no reference to the icon, to set it can do the follow:
on the top level virtual system, get its product section (these informations is used on OVFIndex) and set the fileRef attribute of the icon element as:
option1) the full path : fileRef="
http://abispace.s3.amazonaws.com/ubuntu-9.04/ubuntu_logo.png"
option2) a package relative path : fileRef="icon" and then define a new File on the references section with the same id ("icon") and with attribute hRef="ubuntu_logo.png" (assuming these file is on the same package folder)
the option2 is more standard compliant.
<ProductSection>
<Info>mw</Info>
<Product>mw</Product>
<Vendor>mw</Vendor>
<Version>5.0</Version>
<ProductUrl>http://www.abiquo.com/</ProductUrl>
<Icon ovf:mimeType="image/jpeg" ovf:fileRef="icon"/>
</ProductSection>
and the reference section as :
<References>
<File ovf:id="image_mw" ovf:href="AbiquoMW.vdi" ovf:size="111150592"/>
<File ovf:id="icon" ovf:href="icon.png" ovf:size="5646"/>
</References>
the file 'icon.png' should be on the same folder as the OVF description