1) How can other miners verify a block is valid if the transactions of the block are encrypted such that only the receiver can identify their transaction?
There are plenty of methods to provide ZNP for message shuffles. They are used in Mental Poker protocols and e-voting schemes.
Check out, for example, these papers:
1. A. Barnett and N. Smart. Mental poker revisited. In Proc. Cryptography and Coding, volume 2898 of Lecture Notes in Computer Science, pages 370--383. SpringerVerlag, December 2003.
2. C. Schindelhauer. A toolbox for mental card games, 1998. Medizinische Universitat Lubeck.
3. W.H. Soo, A. Samsudin, and A. Goh. Effiient mental card shuffling via optimised arbitrary sized benes permutation network. In Information Security Conference, volume 2433 of Lecture Notes in Computer Science, pages 446--458. SpringerVerlag, 2002.
4. Stephanie Bayer and Jens Groth, Efficient Zero-Knowledge Argument for Correctness of a Shuffle
5. Jens Groth, Sub-linear Zero-Knowledge Argument for Correctness of a Shuffle
Any many more..
You can also search the web for the terms: ElGamal homomorphic re-encryptio and ElGamal re-masking
2) What is to prevent a miner (or simply an listening node) from recording the raw (unshuffled) transactions to break the anonymity?
If a miner wants to make the permutation public, nobody can prevent it.
As in Bitcoin, we suppose miners will have an incentive not to publish the permutations because they earn APPECoins and want the APPECoin to be useful, so the value of each APC increases.
Nevertheless, if there is at least one honest miner, it´s enough. You just have to wait that your tokens get shuffled by that miner. Even if no miner is honest, you can still shuffle your own tokens, or mix your tokens with your friends tokens in a pool.
The problem is that there is much cryptographic background behind the scenes. Please read Barnett and N. Smart paper and everything will be much clearer. Please forgive me all if I got hurry to post the design without giving background information.
Best regards, Sergio.