Hi tryingtohack,
I have the same experience. The setpoint registers (227:addr 37, 40,41) have to be written every 10 seconds for continuous charging or discharging.
Victron should modify this in their ESS document and the specific ESS3 and 3 document I guess.
Another problem I found in charging in mode 3 as well:
I use 3x JK-BMS for the LiFePo stacks. During cha connected in Pylontech protocol to the CAN bus (500 kbaud). Initially the system did not want to charge over 70 A despite the correct setting in DVCC (DVCC 2705 system max charge current).
It turns out that the Cerbo GX seems to ignore the DVCC setting for max charge current and instead takes the max current setting of the first JKBMS for the whole system.
This seems to me an error that should be fixed by Victron. I solved it now by setting the JKBMS max current to 150 A. But in fact that means that my first battery stack is not sufficiently protected.