Comme tu compares une différence (c'est exactement ce qu'il faut faire, bravo) çà sera bon si tu mets des types cohérents : met soit des "long" soit des "unsigned long" partout.
Par ailleurs tu peux aussi éviter de bloquer le reste du programme pendant les 3.3 secondes en utilisant la même méthode et une petite machine d'état à 2 états.