I believe you're correct in pointing out that ifort has difficulty diagnosing undefined module variables (undefined in the Fortran terminology, referred to elsewhere as uninitialized). The save which you set explicitly in the module is probably the default; this may contribute to the difficulty of diagnosing defined status. If this problem is in fact typical of module variables, it's a problem which the proponents of modules like to ignore. I get similar results to yours with the current Windows X64 version of ifort.
This thread would be more appropriate on one of the Fortran forum sections. The following would be more appropriate on Inspector forum: I got a fresh copy of Windows Inspector (which ought to support Fortran now). I was unable to persuade it to import the inspector file created by ifort /Qdiag-enable:sc. Running inspector on your example compiled without debug information showed uninitialized data at the assembler view level. When compiled with debug information, it reported no problems.