Felaktig JDBC-drivrutin
Det visade sig att problemet var MS JDBC-drivrutinen. Jag försökte alla möjliga kombinationer av datumtyper och datumkonverteringar och ingenting fungerade. Efter en hel del sökning (borde ha gjort det först!) såg jag en kommentar på en äldre SO-post som antydde att problemet var version 3 JDBC-drivrutinen från Microsoft. Jag fick den senaste drivrutinen, version 4.something, och problemet försvann.
Tack till alla som försökte hjälpa. Särskilt tack till dig Mike för att du tog dig tid att lägga upp en lösning.
-=beeky