>>does the StarTeam SDK handle adding (email) attachments to a newly created CR
No. You'll have to extract the attachments (multi part mime types) from the email message using the appropriate mime api's, write each of them to a temporary file or stream, then attach each of these files or streams to the CR instance, possibly as attachments. For the former, the javadoc of the email handling classes is the best place to look. For the latter, take a look at the SDK api's ViewMember.get/set attachments. (note that ChangeRequest is an Item is a ViewMember). Please take a look at com.starteam.test.AttachmentVaultTests and com.starteam.test.CR5060 for examples of using the attachment api's. The tests are in the junit.zip, downloadable from the forum. Using the attachment api's is quite straightforward, but please do let me know if you run into specific issues.
>>setting Responsibility should be simple right?
Yes & No. Responsibility is a User Object property, not a String Property.
mmiller is (I'm guessing) your logon name.
You need to convert mmiller to a User object. To do this, you need to call Server.getAdministration().find("mmiller") which returns the User object instance corresponding to mmiller.
You can now call changeRequest.setResponsibility with this user object.
One caveat. Applications that need to access the logon name of a user object MUST have administrative privilege, i.e. they need to be logged into the STarTeam server using a user account with administrative credentials.
Hope this helps.