As seen when working on easybuilders/easybuild-framework#4625, if module evaluation fails (modulefile does not exist or is buggy) modulecmd.tcl script exits with a 0 value.
It is expected that a command exits with a non-zero value if something unexpected happens.
This is especially important for tools that directly execute the modulecmd.tcl script, like EasyBuild, instead of using the module function.