Well, don't feel stupid,
Ovid.
After further examination and the hints of a few whispered messages (
silent11) I realized that the "while" construct doesn't actually execute the prepared statement, only receives the output and continues to as long as it is produced.
Adding an $sth->execute() directly before the loop solved the problem.
I can't find an example in my code, but I feel fairly certain that I always just went straight to the "while" construct without an "execute()" with DBD::MySQL, but then again, I could be wrong.
I usually am. ;)
--cidaris