[NDK]: No, the NDK applications do not have to use UNICODE. Indeed the RTL/NDK/whatever always explicitely uses ANSI and/or UNICODE string types where needed (and do not depend on tchar.h stuff). It is up to the given application to explicitely specify (in its CMakeLists.txt or elsewhere) whether it wants to define UNICODE or not. --> Fix the problem of having the UNICODE define magically being defined after including some NDK header.
[DNSAPI][USER32_APITEST]: Explicitely use UNICODE functions where needed (and as was already done in other parts of the code).