Oh, you are right. The file is closed after the "TransferProgressState.FileTransferred" event is finished, so your workaround is the correct solution.
Note: This behavior is present in single file operations only. In such case the "TransferProgressState.FileTransferred" is kind of artificial state, because the single file operation ends almost immediately after the event.
However, if this behavior is problematic for you, we can change it in one of the future releases. Just, let us know.