WSS 3.0 seems to be a lot more robust and a lot more strict in general.
Gotcha "1" or '1'
In WSS 2.0 you can add the following Processing Instructions (PI) to your assignment shape in a Biztalk orchestration:
3 <?mso-infoPathSolution PIVersion='0.9.0.0' href='http://evo/Forms/template.xsn'?>
4 <?mso-application progid='InfoPath.Document'?>
However, after upgrading to WSS 3.0, these set of PI's are no longer valid. The file will show up on your sharepoint site as an XML document, but the ICON wont be associated with an Infopath application (i.e. Legacy_WSS_2.xml)
So all you have to do is to put double quotes around the PI's for WSS 3.0 to recognize the document as a valid Infopath type (i.e. Converted_WSS_3.xml)
3 <?mso-infoPathSolution PIVersion="184.108.40.206" href="http://evo/Forms/template.xsn"?>
4 <?mso-application progid="InfoPath.Document"?>
Notice how the icon reflects the association. If you try opening the file named Legacy_WSS_2 file, this is what you will get:
So if you are dynamically putting the PI in an Infopath, make sure to put escape chars around the double quotes as I have explained in my article.