Каскадное удаление, обновление и т.п. вообще надо запретить... В вашем случае из таблицы boot надо удалять вручную и в предложении output заполнять буферную таблицу значениями target_id и device_id. Затем с помощью буферной удалять из остальных. Последним шагом удалить из devices. Все это само-собой в транзакции.
Поддержку версию с хп, ибо использовать, читать и поддерживать сие творение будет значительно проще, чем костылить и использовать сложный запрос для полу-каскадного полу-обычного удаления.
Обсуждают сегодня