Seems very odd the software would not query available space before copying a file. That seems like such a trivial and elementary programming element.
It does, but I think the updates work differently. You need more space on the module for large updates, but most of the space is freed up when the update is done. I'm not totally sure how it works but I believe the extra space usage is to unpack the new files, rearrange what is necessary, and overwrite old files. The actual data size of the update is small, but the space required to apply the update is large...or something like that.