What's corrupting my ROM? I'll have my phone running perfectly fine; however, after I wipe cache and dalvik cache in ClockworkMod Recovery, my phone freaks out and stops working.  It'll either get stuck on the boot logo or get stuck on: "Android is updating: Starting applications".  In a past incident, the phone actually booted into the home screen, but my wallpaper changed to black and wouldn't let me change it.  

I've checked in the /etc/init.d/ folder to see if there are any scripts wiping something, but the folder is empty.  It's like my phone's hardware or a script (unfound) corrupts the ROM.  Currently, I'm unable to get into my phone to grab a last_kmsg log to see if you guys can debug the problem.  When I leave my phone for awhile on the boot logo or attempting to boot into the home screen, the phone feels very hot and I end up turning it off after unsuccessful boots.  

The procedure for flashing my phone is downloading the Nexus 4 factory image from Google's official repository and using fastboot to flash all the partitions: bootloader, boot, recovery, radio, system, and userdata.

The kernel can't be the cause since the problem occurs when I wipe cache and dalvik cache, plus franco.Kernel is the #1 kernel developer @xda and there would be multiple reports of people having the same issue.  I never used to have this problem up until about a few months ago and I've been running the same setup since I got the phone when it first came out.

Nexus 4: factory stock 4.2.2, rooted, ClockworkMod Recovery, and franco.Kernel r140
Strange issue, due the fact you have a custom kernel it might be a better plan (hope you don't have any important things on your phone) to completely wipe your phone and reset to stock. So from CWM just wipe system, (Dalvik) cache, install fresh .ZIP from the internal SD (suppose you can mount the USB in CWM) and (re)install a clean ROM, install GApps and modem [optional], fix permissions, boot phone, good to go. If you can't grab a proper logcat/last_kmsg it's difficult solving this issue to be honest. If it's solved just be sure to make a Nandroid backup and then flash a custom kernel, if something goes wrong you can just reset it back to the current (working) state.