How to create custom VBO action?
First, an explanation of why the changed timestamp gets updated. Actions can declare the attribute

'behavior' =&gt; array('changes_property')


in their hook_action_info entry. This attribute causes VBO to automatically call Entity API's entity_save function after the action has been called. This function ends up calling node_save, which updates the changed timestamp.

To avoid this behavior, simply create your own custom action by implementing hook_action_info in a custom module and follow the action_example of the Examples module. Make sure that your hook_action_info omits the attribute

'behavior' =&gt; array('changes_property')


Your action function will need to save the node or any other data by manipulating the database directly, or by making sure that you're using a function that doesn't trigger a node_save call.