Does module_invoke() work for non core modules? I tried using module_invoke('casrel','nodeapi', $node, 'view'), but what I get for  casrel_nodeapi() is a truncated $node and "load" instead of "view". 

Does anybody have an idea on what is happening?
You are probably looking for module_invoke_all. The module_invoke function only invokes a module in a specific module (casrel.module in your example).

By the way, you usually do not need to invoke hook_nodeapi yourself. The node module invokes hook_nodeapi when necessary, if you just use the api functions (like node_view) correctly. If you need to alter a node before it's viewed, you need to implement hook_nodeapi instead of invoking it.