I just changed and tested my script and I have it working. I was pulling the information out of the database to compare it to the posted variable instead of testing for identical content in the query.
$q = "SELECT * FROM duties WHERE duty_id='$duty_id' AND duty='".$_SESSION['duty']."'";
This works and satisfies my immediate need, but as some suggested, checking for any change of content prior to the query also makes sense so I'll experiment with that some.
I don't seem to recall earlier versions of PHP or MySQL throwing errors when attempting to update the database with the same information. Maybe it did and I didn't notice, although it it wasn't working I'm sure someone would have notified me. Hmmm. This is why I thought that this was new behavior.
Anyway, thanks for all the help on this. I know that teaching can be very frustrating at times, but I appreciate your willingness to do it. I'm not immediately sure as to how to mark this topic resolved but I'll look into that more after I make this post.