Hello Aswath,
creating Chora objects in C is not wrong in itself. It is not documented and recommended because of the possible programming traps. You can create an object, initialise it with some data and then pass the object to Embedded Wizard. What you should avoid is to store the object in some C variable for later use. Next time when you evaluate the variable, the referred object possibly does not exist anymore. Trying to use it will result in memory corruption.
Is there any other way to group variables in Chora other than classes which doesn't cause this problem?
So far I understood, you use the object of class A to pass multiple values in the invocation of the method UpdateA(). In such case you can modify the method UpdateA() so it contains parameters for each individual value. Concrete, the DeviceClass contains then 4 properties representing the values RPM, Torque, Temperature and Pressure and 1 (one) UpdateA() method. From C code you invoke only the UpdateA() method and pass to it the four values for RPM, Torque, etc.:

Nevertheless, I still don't understand the cause of the behaviour you observed. If the problem still exists, can you provide me an example demonstrating it?
Best regards
Paul Banach
asd