Не похоже, что это то, что я могу воспроизвести без сенсорного экрана, но если я вас правильно понимаю, когда кто-то касается кнопки, она нагревается (либо поднимается вверх, если значение «Вниз» истинно, либо подсвечивается), но когда они касаются другой кнопки, она не вызывает выхода из мыши, поэтому она остается горячей. Это правильно?
Есть несколько способов это исправить. Вероятно, самое простое в каждом событии click - вызвать метод top, который убирает мышь с кнопки.
Mouse.CursorPos := Point(0,0);
Если этого недостаточно, вы можете отключить нажатую кнопку, убрать мышь, обновить ее и снова включить. Отключенная кнопка не может быть горячей. Возможно, вам понадобится таймер, который активирует кнопку после того, как она была отключена на секунду, когда мышь была перемещена из нее, но я держу пари, что простого перемещения мыши будет достаточно.
Кроме того, я всегда думал, что это сыр, когда на кнопке, которую я только что нажал, оставил курсор мыши, так что это сделает вашу сенсорную систему более классной.