Accesspoint blocking works by continually sending deauth packets to the client and access point. De-auth packets can be easily spoofed. Both sides then believe that they need to re-authenticate so they do so. If this is done continuously you can prevent all clients from associating with an AP since they're continuously in an authentication loop.
It's trivial to detect by looking for a flood of de-auth packets on the network. De-authentication is part of the specification, and involves both client and AP. So even if the AP had a means to detect and ignore de-auth attacks, it wouldn't help unless the client also implemented a similar mechanism.
There's been some talk of "authenticated deuthentication" to prevent de-auth from an unauthorized party in the first place, but AFAIK it hasn't gone anywhere.