The only significant limitation is that P2SH are limited to 520 bytes because pushes to the stack of more than 520 bytes are not valid.
The bad news is we likely will have that limitation for a while as changing it would require a hard fork.
Do the current consensus code accepts
blocks with pushes over than 520 bytes?
(I think yes, but not sure)
No the blocks are invalid because they contain invalid txns. This is not a "IsStandard() check it is an valid vs invalid check. A block containing a txn with a push larger than 520 bytes is no more valid than one containing a coinbase generation of 500,000 new Bitcoins.