Попробуй заменить вот это
dwFlags := DIGCF_ALLCLASSES;// or DIGCF_DEVICEINTERFACE;
if ToIntegerEvent(ShowHidden) = 0 then
dwFlags := dwFlags or DIGCF_PRESENT; // отображаем только установленные устройства
вот на это
dwFlags := DIGCF_ALLCLASSES or DIGCF_PRESENT; // отображаем только установленные устройства без условий