The caching trap
Dotnetnuke is able to improve performance by caching modules. Module caching can have a default value, set in the Settings applied to the Module Definition for the pertinent module.
The value can be overridden in each instance of the module by changing the number in the module settings section.
While developing modules, developers are confused when the module under development works but only when logged in as host or admin. This is another simple thing that falls under the gotcha category.
When using the StarterKit templates, it is usually missed that the manifest for the module contains a default value of 60 for module caching. When a value greater than 0 is set, the module will use caching and therefore you should expect it to perform in that way. Now, here’s the catch: Caching is not enforced for users in the Admin or Host roles.
It is possible to anticipate this behavior and simply have a value of 0 in the manifest, or removing the node altogether, before the module is installed into a testing /development site. If the module is already installed, the value in the individual instance can be changed to 0 as well.