I've tracked down the issue.
The short story is that the "Type" workaround is never called on the C4 for a default ProChannel setup, and it's down to the following:
Selecting "EQ" from the C4 always brings up the 1st ProChannel plugin regardless of whether it's a type of EQ or not. So for a default ProChannel setup, pressing "EQ" always brings up the Track Compressor.
However, scrolling through the list of plugins
does only show other EQ plugins.
A similar thing happens with dynamics, in that the "Dynamics" button always brings up the 2nd ProChannel plugin regardless of its type, but scrolling through any other plugins in the list only shows Dynamics plugins. For a default ProChannel setup, pressing "Dynamics" always brings up the EQ.
The Type workaround checks to see if it's the "Type" parameter, but also if filter type is "Dynamics" - however on the C4, you have to either select "Plugin" or "EQ" to get to the Track Compressor if it's the first ProChannel plugin. So the filter type is never dynamics for a default ProChannel setup, and the workaround code never gets called.
So half of the fix would be to sort out the EQ & Dynamics buttons and make sure they're checking the ProChannel plugin type before selecting it. This would ensure the type workaround gets called... however if you navigate to the Track Compressor using the "Plugin" button, the workaround code still wont get called.
A safer fix (the 2nd half of the fix) might be to set a flag somewhere to say the current plugin is actually the Track Compressor (maybe by checking it's name - as it has to send this to the plugin anyhow, or it's VST identifier if that's available), and check this flag in the Type workaround instead of the filter type.
For the moment though, removing "Type" from MackieControl.ini stops the crash from happening.