I would recommend using a different interface to the preset object, maybe even another preset object, who's output is held, then triggered by output of a tempo relative metro. Something like this maybe? A brief sketch:
If I understand you correctly, you want to cause preset changes to occur only on a downbeat (or a beat, or whatever), right? How about this? Just before you want the change to occur, set a timepoint for the next downbeat (or beat, or whatever), and use that to trigger the preset recall.