試しに

A<HANDLE, NULL> a;

としたらコンパイルが通りました。
NULLは良くてINVALID_HANDLE_VALUE(#define (HANDLE)-1)が駄目な理由がさっぱりわかりません。