ATProto is usable without Bluesky’s AppView. You just need to create another centralized indexing server of your own and have it index all PDSs. This is certainly less decentralized than other systems since there’s a barrier to entry (getting the compute power to index all PDSs), but that’s the tradeoff you make by not having server-specific namespaces like Mastodon does. They seem to also make their AppView implementation open-source, which seems to show their goodwill.
You do still get the benefits of being able to interoperate between different apps that may not know each other exist without the disadvantages of having server-specific namespaces, which is of course the point.
“A valid date” would be determined by said server (BlueSky’s or yours). You could choose to write a server that enforces consistent dates or one that does not, and the definition of a valid date would be different per AppView.
I acknowledge the other way of doing it which ActivityPub uses has some benefits as well.