I tried an approach where in jScript I made a manual connection to the SQL server and sent the attachment field text (it's BASE64 encoded already) to the database to a memo field. You can't bind an Infopath field to a memo field directly - and memo fields are what's needed if you have an attachment of any appreciable size.
It worked - I got the attachment saved to the field - and had to write more code to read it back in to the field at the right time.
But it was SO SLOW that I ditched it. That's the only luck I've had with a high level language solution within Infopath - everything else worked from an external program - e.g. decoding the BASE64 using VBA in Microsoft Xcel/Access.
Low level language (for me anyway) like C# might have a better way - but if you want the jScript solution - let me know.