Ciao,
Il background-url glielo devi dare al link e non all'immagine: Deve essere al contenitore dell'immagine.

Usa questo trucco:
codice:
.imageLink:hover img {display: none;}  /* nascondo immagine originale*/
.imageLink:hover {
    background: url(css3.png) no-repeat;  /* metti url nuova immagine*/
 width: 200px; /* deve essere identico al width dell'immagine altrimenti si vede il "flick"

    height: 200px;    display: inline-block; /* idem per width*/
}
L'unica idea che mi viene usando CSS è questa.
Senza vedere com'è fatto l'html è un po' pi difficile
Questa soluzione l'ho provata e funziona: almeno lo swipe dell'immagini
Puoi aggiungere altre proprietà css3 come transition ecct.