> -- Андрей писал(а):
> 5) Даже после успешного выполнения пустой процедуры Work, вызов CloseHandle(h) генерирует такое же исключение...

То есть ошибка, на самом деле, находится вне Work. Надо подумать...