Wild shots from the hip:
Could it be that they simply use NULL terminated strings and parameters for the settings?
Lets assume Effect A has two variable parameters and one off/on switch.
With both numeric parameters defined and the switch set to On (here, defined as 01, while Off simply is left undefined and thus represented by the terminating NULL), the NULL terminated string could look like:
56NULL23NULL01NULL
With the same two parameters defined as above, but the effect turned Off, it could look like:
56NULL23NULLNULL
With one numeric parameter zero/neutral defined and the other value-defined, the NULL terminated string could look like:
0NULL23NULL01NULL
With no parameters defined, the NULL terminated string could look like:
either NULLNULLNULL or 0NULL0NULLNULL
The software would of course know how many of such effects/parameter strings to expect in total.
As such, they might not even have bothered adding some 'begin-string' identifier, nor any 'end-string' terminator, but simply le4t each sting begin after the former string's last parameter's (implicit) terminating NULL.
If it was indeed arranged like this, it can be readily observed that this would lead to a variable dump, size depending on what's defined and what's not.
Now, I'm not at all saying it's packed like this; I'm merely suggesting some odd possibilities..
How on earth, via which algorithm, the checksum is then calculated.. keine Ahnung..