Except that I also need to use the new value in the application. So if I did it that way, which would also require a subsequent query to read the new value, I'd run into the same problem: User A's first query increments the record value, then User B's query increments it again, then User A's next query retrieves the twice-incremented value instead of the proper one.
But remember, this is all happening on a single page request. Like I said, I don't know if PHP or MySQL (or the web server) already prevents this kind of race condition. (If anyone knows, please enlighten me!)
In researching, I've discovered the MySQL command LOCK TABLES, which would seem to do the job. My only question now is: If a query tries to obtain a table lock, and the table is already locked, does the script wait and try the query again, or fail?