È possibile eseguire solo un'istruzione con un'unica prepareStatement. Devi dividere lo sql in due separati insert into ... sequenze.
Anche
INSERT INTO DISTRIBUTES (PEERID, FILEID) VALUES (" + peerID + ",LAST_INSERT_ID());";
non sembra usare un prepareStatment - ha un peerID hardcoded invece del segnaposto ?