I'm using (int)$_GET['id'], per NogDog - hope that's reasonably equivalent.
It's interesting - I find that the vast majority of my select queries are via one or two integer IDs. It's relatively rare for me to query on a string, and usually then it's something explicit in the query, and not passed as a variable:
SELECT * FROM table WHERE id=$id AND type='explicit_type';
I would like to establish some kind of standard for where in the process I'm sanitizing things. In some cases I'm doing it at the beginning of a procedural bit that calls a bunch of classes, since I can sanitize once and pass a clean variable to each class/instance. In other cases I'm doing it when building my where string, before passing it to my data access layer.
I don't suppose it hurts anything to go a little overboard with (int)$variable, does it? Not a big processor hog or anything? I know there are quite a few cases where I'm typecasting a variable twice, just because my code is a little spaghetti-ish and I figured better safe than sorry.