Y hay veces en que TransparentBlt falla, para corregir esto:
Código Delphi
[-]if not TransparentBlt(Dc, x, y, w, Min(h, asc + desc),
TempDc, 0, Max(0, tm.tmAscent - asc), w,
Min(h, asc + desc), $FFFFFF) then
exit;
Result:= MIn(h, asc + desc);
Cuando la funciòn devuelva 0 porque hay algún fallo se puede llamar a TextOut normal.