Parece que necesita configurar useAffectedRows
en las propiedades del controlador manualmente.
Obtuve la solución después de buscar en Google. Puede consultar este error de MySql para este INSERT ON DUPLICATE KEY UPDATE return 0 if no change in Actualización de ejecución de JDBC
También en la discusión se afirma que lo lanzaron en 5.1.7
EDITAR para su segunda pregunta:
usarFilasAfectadas :
Predeterminado:falso
Desde la versión:5.1.7
Referencia useAffectedRows en JDBC Connector-j