To me, this looks like a bug; the functionality is damaged in that its behavior doesn't make sense.
I think there should be a way (a permission?) that says "show this to not-logged-in users", and as far as I know, this does exist: you can grant whatever on the object to "the_public".