Вот вам исходник на вашем любимом С. Почему при отключении USB-клавиатуры устройство keymouse1 или keymouse2 (смотря сколько клавиатур) не удаляется? P.S. Собранный драйвер и его исходник в архиве http://www.wasm.ru/forum/attachment.php?item=4659
Не знаю, буду ли смотреть в чем там дело, но замечу, что в архиве драйвера нет, есть только .obj файл. Окончательный .sys не собрался из-за неразрешенных внешних зависимостей.
нет времени копаться в вашем исходнике, но в итоге все должно придти к тому что вы неуспешно или вобще не обрабатываете РnР-требование с минорным кодом IRP_MN_REMOVE_DEVICE либо IRP_MN_QUERY_REMOVE_DEVICE.