Quickly going through the GoF and the Head First Design Patterns book, it seems like there is no mentioning of infinite loop detection and handling for the Observer pattern?
No. Any situation causing an infinite loop is obviously a sign of a bad design. I have never seen this happen by accident in the observer, and I don't see a need to write special cases for it in the observables.