
Есть предположение, что фонт удаляется системой не сразу (тем более что в этом компоненте DC не создаётся/удаляется, а только используется, а фонт, хоть и уничтожается, но остаётся выбранным в том DC), а в условиях ограниченного процессорного времени это не успевает делаться. В итоге создание фонта вообще не происходит, т.к. нету свободных Handle.
Обычно делают так:
hOldFont := SelectObject(hDC, hMyFont);
...
SelectObject(hDC, hOldFont);