OK Pablo,
I think I see it now.
The AddNew function is used throughout EA, and sometimes gets a bit 'bent' to do the appropriate thing. In general, the first parameter is the type of the thing you're adding, and the second is the name. Of course the collection itself helps specify the type so sometimes that parameter is relaxed a bit. As well, the name parameter may be ignored or treated differently by different collections.
But...
You are always attempting to add a constraint called OCL to the collection, with a type that's dictated by the content of your variables (myOCLx). That's probably not being accepted by the collection, though for whatever reason the AddNew function (and Update) are not throwing an error.
Try just adding the constraint, providing a name and a type of 'Constraint' (case sensitive). Now try adding the rest of the data to the various properties of the resulting Constraint object. [Remember that AddNew returns an Object, which you'll have to cast appropriately.] Then do the Update.
BTW, constraint elements are stored in the EA schema in the t_objectconstraint table. [Attribute constraints have their own table, but it is similar.] Take a look at the structure of these tables - you can use one of the SQL files provided by Sparx or open an EAP file with Access - and you'll see that the Type field is 30 characters long. That's the one you are currently attempting to load your longer string into when you are calling AddNew.
HTH, David