Podle MySQL dokumentace "kill connection thread_id" by měl ukončit připojení spojené s daným thread_id. Ale vypadá to, že se to neděje (v takovém případě bude vlákno Java čekat na odpověď navždy). Možná si můžete ověřit, že je připojení skutečně uzavřeno pomocí nějakého síťového nástroje (např. netstat).
Již dříve jsem narazil na pozastavení připojení MySQL a musel jsem se uchýlit k použití socketTimeout Parametr připojení JDBC (ale pozor:socketTimeout musí být větší než čas potřebný k dokončení nejdéle běžícího dotazu). Můžete také zkusit použít Časový limit dotazu pro připravený výpis.