This is probably because the lock on the table is escalating. There are a few ways to prevent this.
1. Have both queries run in the same session.
2. Close the session to the database that the select statement is using before you start running update statements.
3. Use a stored procedure to return the values as well as flip the value in the bit column, so that you only have to make a single call.
4. Add the NOLOCK hint to your SELECT statement so that it won’t lock the records. You may get a problem with invalid data being shown as if anyone else has a lock on a record, that lock will not be honored.
FROM Table WITH (NOLOCK)
WHERE Something = SomethingElse</pre>