Okay, working much better now.  According to the STMPE610's datasheet, the FIFO can hold a maximum of 128 sets of touch data, so I started draining the FIFO whenever a touch is detected after a release.  This way, we should only be seeing the most recent touch in the FIFO.