Code that assumes that something is going to be atomic because of the GIL (or any other implementation detail) is simply broken. If you need something to be atomic you should be explicit about that and use mutex or something.
The gil is a feature. Not using a feature that makes sense in our context is counter productive.
It's an implementation detail, and relying on those for functionality is a great way of getting ones code to break.