I did some additional testing in our lab here and it turns out ECS currently does store the metadata name verbatim (case sensitive).  This was tested using the AWS CLI against ECS 2.2.  Uppercase metadata names are stored and returned as uppercase (if you PUT x-amz-meta-Foo, you will GET x-amz-meta-Foo).  Pondering the HTTP spec a bit, there is no expectation of case, since the headers are supposed to be case-insensitive.  So really it is up to the sub-spec (S3) to determine whether case matters.  Technically neither implementation is "wrong", but since compatibility trumps, we should probably store the names as lowercase.  I will create the bug and bump the priority for the next release.
So after some investigation I have found that ECS is case sensitive when sending headers when sending via S3 and expects the case to be all lower case.  I also went and validated that AWS is not case sensitive.  Does anyone know if this will get changed to more closely match AWS?   Example:  Both these examples to AWS work...  PUT /blah.pl HTTP/1.1 Date: Tue, 01 Mar 2016 06:32:02 GMT Authorization: AWS =============================== Host: blah.s3-us-west-2.amazonaws.com Content-Length: 1571 X-Amz-Author: me Content-Type: text/script User-Agent: HTTP-Tiny/0.054  PUT /blah.pl HTTP/1.1 Date: Tue, 01 Mar 2016 06:32:03 GMT Authorization: AWS =============================== Host: blah.s3-us-west-2.amazonaws.com Content-Length: 1571 x-amz-author: me Content-Type: text/script User-Agent: HTTP-Tiny/0.054  Both PUT will receive the data, but the lower case example is the only one that will set the meta   PUT /blah.pl HTTP/1.1 Date: Tue, 01 Mar 2016 06:32:04 GMT Authorization: AWS =============================== Host: blah.ecs.somewhere.com Content-Length: 1571 X-Amz-Author: me Content-Type: text/script User-Agent: HTTP-Tiny/0.054  However this does...  PUT /blah.pl HTTP/1.1 Date: Tue, 01 Mar 2016 06:32:01 GMT Authorization: AWS =============================== Host: blah.ecs.somewhere.com Content-Length: 1571 x-amz-author: me Content-Type: text/script User-Agent: HTTP-Tiny/0.054
Headers Case Sensitive