Without going into actual code example, I will try and explain things non-technically before I go into the actual answer.
(DO NOT SPEED READ, OR YOUR GOING TO MISS THE ANSWER)
If you want to understand how it sort of works and/or not work, it goes something like this:
3in1:
A1-info/hardware on PSRAM
A2-info/hardware on NOR
A3-info/hardware on rumble/RAM mode
new3in1:
B1-info/hardware on PSRAM
B2-info/hardware on NOR
B3-info/hardware on rumble/RAM mode
3in1+:
C1-info/hardware on PSRAM
C2-info/hardware on NOR
C3-info/hardware on rumble/RAM mode
EZ5C11:
A1-info/hardware on PSRAM
A2-info/hardware on NOR
C3-info/hardware on rumble/RAM mode
From a black box perspective, gba exploader is using the info on PSRAM to identify what 3in1 you got; what it really uses to ID it is anybody's guess. Once gba exploader identifies what 3in1 you got, it loads ahead of time what registry offsets to use. For the EZ-Flash Vi, it checks what you got when you change modes and loads the correct registry offset addresses as needed. If you notice the implementations between the two is different. Any changes in hardware makes how gba exploader IDs a 3in1 useless until it can be profiled correctly. Like how the EZ5C11 works with the gba exploader, no ram/rumble. gba exploader is basically expecting to use A3 instead of C3 because it thinks the EZ5C11 is a EZ5C10.
The EZ-Team didn't release any new version of the 3in1 source code to account for the EZ5C11, meaning all the information is still valid and all offsets for soft switches still work and is already defined in the code. This is based on what I know of all the versions. If you don't like this answer, you can always ask the EZ-Team directly, you might not like their answer any better than mine assuming they give you one.
If an app loads the registry offsets like gba exploader, you have to update the app with a new info on the hardware changes. If the app is no longer in dev, you have to rely on ram/rumble patches you apply to the rom to use any new hardware. gba exploader had partial support for C2 and only place holder functions for C3, that is why a IPS patch was made to fix the C2 info in the code. The majority of the apps are closed source so updating them is impossible without the source code.
Cory moved on, so I don't see any updates coming from him. Every other project like gba exploader has stopped. That leaves pretty much Wood/AKAIO and EZ-Flash Vi, assuming they still work on any of that code in the code base.
Everybody is stuck with partial or no support depending on what they got for a slot1 and how they use it. That is the state we are in with the 3in1. If you got an older 3in1, you got full support for all features regardless of what your slot1 is. For the newer ones, you pretty much need a EZ-Flash Vi or using a AKAIO/Wood compatible slot1 to get some or all features working.