- to freeze account we need to create code, that reject transactions from particular account ids;
- this code and list of acct ids must be included in all nodes of network;
- those nodes who doesn't contain rejecting code will fork when transactions from "frozen" accounts appear in blockchain;
- so, one more time: all nodes of network must contain rejecting code;
- so devs can't release software which start to reject frozen accouts right now; every changes of that type are always applied starting from some block in future, at least 3-4-5 days needed;
- in that time thief just move stolen coins to some other non-blocked account;
- so rejecting code will have no meaning.
Also, devs can't distribute online list of frozen accounts, because it leads to centralization.
That's all.