When the delete h:commandButton is in the same form, these are the scenarios and their results:
h:commandButton with f:setPropertyActionListener : Does a standard full form post, which re-uploads the last selected file and correctly processed the post response.
h:commandButton with f:param : Does an ajax form post, which does not upload anything, and gets back a full document response, which it now correctly updates the page with, although that causes it to re-GET all of the CSS and Javascript.
ace:pushButton with f:param and with f:setPropertyActionListener : Does an ajax form post, which does not upload anything, and gets back partial updates, which it correctly updates the page with.
Needs retesting on trunk.