Still not solved I'm afraid...
I've grabbed the JSON message from the console and tried it in Engine API explorer - fails with the same message. When I grab a successful CreateBookmark command and run it the same way it succeeds.
Also if I remove the actual qHyperCube from the message, it succeeds (well, CreateBookmark succeeds, but of course the snapshot is not usable), which leads me to the conclusion that there is something wrong with the hypercube format, but I can't see anything that's wrong. Also I've tried validating the JSON, and it passes validation: I've used this validator:https://jsonlint.com/