sorry for the grave digging.
this is caused by incompatible firmware. firmware are binary blobs akin in function to an old BIOS or a newer UEFI firmware in PC parlance. just as in PCs, it does much more than simply booting the OS kernel.
aftermarket roms and OSes (including TWRP) may not bundle firmware blobs but often do require a specific version. in your case: TWRP bundles a kernel, and the complete "OS" (kernel + TWRP) depends on specific firmware version(s) to work. the ROM you flashed does include the blobs it requires, so during the flashing process your firmware was overwritten (without this, the ROM would not have booted). but now your old TWRP is not compatible with the newer firmware and thus fails to boot. it will fail even if you do a fastboot boot my-twrp.img
.
there are so called "firmware collections", which are zips you can flash with different firmware versions, extracted from OTAs and published by users. if you flash an older firmware, your currently flashed TWRP will work again (and your currently flashed OS will cease to work).
but of course, you can't flash the firmware zip because you don't have a working recovery... :)
so your options are:
- find a TWRP binary that works with the firmware included in your OS and flash it (you can
fastboot boot
it to test it before hand).
- find an older firmware zip, extract the relevant partition images, and fastboot flash them (warning: very risky unless you know what you are doing).
- fastboot flash a complete stock OS with the right firmware version for your chosen OS and TWRP.
EDIT:
the firmware initializes the hardware (CPUs, RAM, flash, etc) and eventually chooses to run android or recovery. it runs well before the choice is made. thus, it is not possible to have 2 firmwares, one for android and one for recovery, the way you have 2 linux kernels.
this means that, in a sane world, the firmware would just be a bootloader and it would not expose interfaces for the OS that would make the OS dependent on a specific firmware version. any other blobs required should be part of the OS (and duplicated for the 2 OSes, each with its required version).
unfortunately in android the firmware got so fat that now the idea of having 2 independent OSes in a device, the concept of a linux-based recovery, is no longer workable. in fact, it has been eliminated in A/B devices altogether, with the recovery being an alternate userland that shares its kernel with android. the only real recovery method that works now is fastboot, and it is severely limited.