Considering that the waiter has no idea whether or not you are an iDine member - and considering the fact that the waiter probably doesn't even know what iDine is to begin with - I doubt it has anything to do with the miles.
Just taking a wild guess: perhaps the restaurant is charged less in credit card fees for a $X.99 transaction than an $(X+1).00 transaction. I mean, maybe they've figured out that there is some wierd rounding on that end of things, and an "under five dollars" transaction nets them more than a $5 transaction. Yeah, that's still a shaky explanation, but it's the best I can think of.
IMHO, selling 1 FF mile for 1 penny
right now is a fair trade, so I wouldn't complain. 'Tis wierd that they do this though...