1. Setting the content type on an object is opaque to Atmos. Atmos does not evaluate or care what content type you set. We will simply return the same value when the object is read back. If you're planning on delivering your content to a web browser via access tokens or shareable URLs, it's important that the value is correctly set. If you're simply writing data that will be consumed by internal applications it's less important.
2. The problem in the source is that the customer is using strcpy to copy the binary data instead of memcpy. Strcpy will terminate as soon as it finds a null value (something that will happen often in binary content).