Hi Roger, thanks for reaching out us.
With regard to the reported behavior, I'm able to reproduce it either with a custom ObjectData and the ordinary Cinema 4D standard tools (like cube generator and the Fillet option).
But there's more: if the undo operates on a parameter whose values is currently equal to its initializing value, the undo is simply ignored.
This can be easily tested and verified by initializing the BOOL parameter used in the resource to true in the ObjectData::Init(): as you will see the result is simply the opposite of your reported case.
To me the behavior is consistent but I will check with the team responsible and see if it can be considered a bug.
Best, Riccardo