I believe Captivate uses a custom base64-encoded string for suspend_data; appending more onto the string might break it when Captivate tries to decode it.
If you want to make SCORM calls from inside Captivate, the safest way is probably using Captivate_DoExternalInterface -- it's a JavaScript function built into the SCORM template. Captivate uses it by default, and my revised templates also use it.
From within Captivate, invoke the following JavaScript:
Captivate_DoExternalInterface(command, parameter, value, variable)
Such as
Captivate_DoExternalInterface("SetValue", "cmi.score.raw", "100", "")
The "variable" argument is used for returning a 'success' value to Captivate. You can *probably* use an empty string here, but I haven't tested it.
- philip