1) I cloned all of them so I was worried they are performing the same work, especially since the first new block found registered across all of the machines. I know that's not a direct correlation, and it's likely a pregenerated address for mining purposes, but im wondering if there is effective hashing randomization. Waiting for the next block, though I'll probably be checking each machine manually to find it (?) EDIT: listtransactions command is showing identical new activity across all machines...specifically an immature block. Am I analyzing this correctly? Does the client have a pool of pregenerated addresses?
On the first startup, wallet.dat is initialized with a keypool of about 100 keys. If by "cloned" you mean you copied wallet.dat to all 30 machines it would explain that all generated blocks show up in all machines, because all machines share the same set of keys. This is normal behaviour for most if not all altcoins. Note that the wallets will start to diverge when all of the pregenerated keys have been used up, because then each machine will generate its own new keys.
Regarding your question about randomization: do the logfiles show identical hashes on all machines? If not, I'd guess there's sufficient randomization.
2) Every new block reward is assigned to a new address, and I am looking for a way to easily have all new coins mined go to the same address.
Not possible without modifying the software, AFAIK.
3) It's a headache to do and monitor everything manually across all the shells, any ideas how to manage them all at the same time? pool? script?
There's a standalone miner available:
https://github.com/wangchun/cpuminerRun a single protosharesd instance + point the cpuminers to it. No need for a separate pool.
Of course, that only means you'll be getting headaches by manually monitoring 30 cpuminers...