Seguro que estás lanzando la interrupción en el flanco correcto, o sea, el ascendente. Lo que pasa es que los pulsadores tienen rebotes, y antes de establecer un 0 o un 1 estable pasan por un montón de ellos alternativos. Por eso, aunque creas que al pulsarlo estás provocando un flanco, en realidad hay varios de ellos.
Dices que en proteus no va, ¿pero no va tampoco al soltar el pulsador?