Hi Victor, after each change in order to trigger c4d update you have to add an event (in order to say hey I've done something, please C4D refresh)
It's done through EventAdd.
Moreover even if in python we directly set the basecontainer. In C++ it's recommended to use SetParemeter as describe In this manual
Regarding advice from @mp5gosu, MSG_CHANGE is only needed when the structure of the object change (you change the count of point for example) since SetParemeter will automatically increase the dirty count of an object is not needed in your case.
Finally, there is a small macro in R20 "_s" to create a Maxon::String which allows you to write
"New value of the text"_s instead of MaxonString("New value of the text string")
If you have questions, please let me know.
Cheers,
Maxime!