For APEv2 tags Picard currently does not always treat them case insensitive.
Picard will read the tags for which it has a defined mapping case sensitive. This is e.g `Album Artist`. For tags where it has no explicitly defined mapping it will read case insensitive. This is for example true for `Artist` (which is implicitly mapped to the internal name `artist` in Picard). Also writing does not preserve case here and will always rewrite the tags according to the mapping rules. That is explicitly mapped tags get written as specified (`Album Artist`), unmapped tags get written with title case conversion (`artist` => `Artist`). mutagen actually has a case preserving logic for APE, but this does not apply to the way Picard sets the tags.
See discussion at https://github.com/metabrainz/picard/pull/1263#issuecomment-528615458