2) Joe changes some code so that the block reward is twice what it ought to be, compiles it, and uses the same Doge nodes for his wallet. Should he mine, what would happen?
These cryptocurrencies are peer-to-peer decentralized systems.
This means that any set of peers that agree to the same set of rules belong to the same system, any peer that attempts to break those rules is rejected by the system, but accepted by any other peer that agrees with the broken rules.
Assuming that Joe hasn't modified the port that his wallet will communicate on. . .
If Joe rewards him self twice as much as he should, he broadcasts that block to every peer he is connected to. Each of those peers validate the block before they accept it or relay it. Since one of the protocol rules that a block has to meet to be considered a "valid" block is the size of the reward, every peer rejects the block and continues to wait for a valid block from a peer. Meanwhile, Joe's wallet adds the block to his own blockchain. Whether this results in a permanently forked blockchain for Joe (and he never accepts any blocks from the rest of the network), or results in his block being orphaned and eventually replaced by a longer chain from his peers will depend on the coding of Joe's wallet. Does his wallet accept as valid blocks that have a smaller reward?
Now, if Joe can convince others to run his wallet software, then they will accept his blocks as valid. Depending on the coding, this can result in a forked blockchain with users of Joe's software accepting some blocks, and users of the other software accepting other blocks.