CVI does not do any work to guarantee than include files are only included once. There are even language reasons why we would not want to do this.
However, many redeclarations are legal and therefore many header files will probably compile fine even if included multiple times.
Struct declarations and enumerations will complain, but function prototypes and variable externs (for example) are ok.
Since many C API header files simply contain #defines and function prototypes, multiple inclusion will often still result in a successful (if slower) compile.
Hope this helps,
-alex