Checks to ensure other IOErrors aren't hidden.

- if the original MAXBLOCK is more than 1MB, raise the exception
- ensure the original MAXBLOCK is reset, even if exception is raised on saving