Thanks for pointing me to your code so that it could be easier to explain the concepts. As far as I have seen, the so called compound coin seems to be based on the satoshi client a little. Here in the code, the subsidy values are mentioned starting from Line#967. Also your code seems to be pretty broken up,
For example if you consider the above bitcoin code which I have posted, it has been clearly mentioned the coins are cut into 2 after the halving takes place. Whereas in your code, there would be 94958891.757693062 coins generated if the block height is less than 25 and 1 coin would be generated if the block height is less than 1000 and 100 coins would be generated if the height is less than 50000.

I am totally confused with your code man.
After reading through PeerCoin a little, they don't seem to have a capped supply to prevent inflation and also they follow both the POW and POS algorithm. I have very little knowledge of POS code hence I won't be able to guide you through that.
P.S Checkpoints are used to prevent the hashing of block in lower difficulty. Since you are premining them in first or second block there is no need to change the code in checkpoints. They are probably used for future prevention of 51% attack in the network. Check out my explanation for checkpoints here :
What is use of Checkpoints in a cryptocurrency?Is that you who have posted this same topic in bitcoin stackexchange? If so, that is wrong area to post that and you probably won't be answered since that doesn't belong to bitcoin and you are cloning an altcoin.
Actually, this is the code based on Compound Coin and did not write the GetProofOfWorkReward function. I did went to check the Peercoin source and what you have explained above on Line #967 shows a totally different function. Should I change the code to match what you have above? I have also found another example coin using the same source code; however, the GetProofOfWorkReword function shows less compared to Compound Coin. It is called 404coin.
But to actually mine the coins, am I correct in the methods that I asked (i.e. using 2 daemons or running 2 wallet gui where one is the server and the other the client) or do I need to use a miner? There should be an internal miner to test in seeing how to generate the coins.