For email forms, just switch to a read-only view before submitting.
For SharePoint library, create a reusable workflow with an impersonation step that removes the item permissions when the form is submitted and replaces with read-only. Or, you can just have the form switch to a read only view when the form opens (best for browser forms, since users could conceivably save the XML data to their local computers and edit in notepad).