I had an error on qRules SubmitToSharePointList today that succeeded creating a new item, but failed to update an existing item. The failure error was:
Exception: Exception from HRESULT: 0x8004304D. Full error node text: Cannot access a closed Stream.
Since the first thing I did was search online, I want to make sure I blog the resolution in this instance - we were trying to submit data to a column that did not exist. It existed when the mapping was originally created, but then was deleted and replaced with a different column. The error was hard to find because this was a large mapping to a list with a large number of columns, and because the initial submit succeeded, but the update failed.
So - if using CAML and the UpdateListService to update an existing list item is returning "Cannot access a closed Stream", verify that all the columns you are submitting to actually exist.