Though the documentation for I/O size in file-write-file and file-read-file are technically correct, they could really use some clarification.
Quoting from the 4.1 SDK, file-write-file states that "API will fail if data exceeds 1 MB" and file-read-file says "API will fail if length exceeds 1 MB". Until recognizing the subtle difference between these two (or observing empirically), they appear to each allow 1MB I/O sizes, though due to the double-byte encoding of the data element, the actual sizes are 512kb for writes and 1024kb for reads. It'd be good to make this distinction more apparent in the documentation.