Hi, I too was experiencing high CPU usage with cpf and cmdagent. I think I've pretty much resolved them both. This is how I did it :
cmdagent.exe:
1) As others have mentioned, turning off MDI fixes the cpu usage , yes you loose a layer of security but I think I can live with it off until its corrected in a future release. My avg cpu usage for cmdagent is 0%.
cpf.exe:
1) I turned off logging and making logs.log read-only as others have suggested, this didnt help much but I left it off as I don't really care for it keeping a log.
2) Second I turned off SPI In Advanced -> Advanced Attack Prevention and Detection - > Do Protocol Analysis ... I also turned off block fragmented IP datagrams, not really sure if this helps but I figured not much harm can come with having it off, but others may correct me.
3) Lastly and this gave me the biggest results in terms of CPU usage, since the only times I had cpf give me high CPU usage was when I was using apps that require many connections such as P2P , specially with Azureus in my case, I went into Application Monitor, selected the edit option on the Azureus application. You can either check the allow all activities for this application option, or as I did i selected Direction: In/Out under the general tab and everything else was set to Any as they were by default , now under miscellaneous tab , check skip advanced security checks and allow invisible conntection attempts.
After this cpf.exe is peaking at 5% but usually fluctuates between 0 - 3%
It's been like this for over a day using Azureus as normal, hope this helps others too. And here's to hoping the comodo devs come through fixing this great app.