As you probably know, it is a documented behavior that you can only call UF_initialize() one time in an external program. If you are only calling it once in your main program, then you might look to see if you are calling into any other .DLLs that might be trying to call it. Do you have anything that loads at startup - such as a UDO .DLL?
Note that UF_UGMGR_initialize() (or its wrapper) also counts as a call to UF_initialize().
If you can't find it, please log an IR with GTAC and supply the problematic code, so we can investigate thoroughly. Thanks!