OK, I have spent a bit of time digging with this. I can see a few options that may help. I still seem to get ApOpps errors with audio and CM11 has a known problem with this, however a fix may be to use this patch;
http://review.cyanogenmod.org/#/c/69871/ However I don't know how to do anything with that information. I can't see an obvious flashable zip and assume I would need to make one, but don't know how. It sounds like this is what may be causing the crashes when we try to stop casting.
The blank screen issue may be solved with this;
Check the BoardConfig.mk file in /android/system/device and the config.xml file in /frameworks/base/core/res/res/values directory in the Linux computer you used to compile. Also check hardware_composer.h to determine the HAL version. HAL v1.2 and greater don't require gralloc buffers, but HAL v1.1 requires gralloc buffers. Most likely chromecast is using video buffering. Generally, low ram devices do not use dedicated video buffering since that will reduce available for system/programs. Again I don't think there is anything I can do with this info because I don't compile Crombi-KK.
As far as I can tell we have the audio_policy.conf in /system/etc/ r_submix section added and the audio.r_submix.default.so in /system/lib/hw/
There is a database entry that must be present in go to /data/data/com.google.android.gsf/databases/gservices.db
open that database with sqlite editor and open the overrides and add
name
gms:cast:mirroring_enabled
value
true
I believe that the above is present in our gservices.db but I can't be 100% as I don't have SQLite editor, only a basic "reader" of sorts.
SELinux looks to be disabled so I don't think we need to worry about being in a permissive mode.
If someone from the Crombi-KK dev team wants to look into the above and write me a flashable zip to try I am more than willing to do so. However I don't think there is much more that I can do myself I'm afraid.
I have tried - different versions of mirror enabler with the various fixes in place. I am on latest GPS and chromecast app. I have tried the clear data, etc, etc. Powered the chromecast from an AC plug rather than the TV and I never get anything other than a blank screen. Logcat shows ApOpp audio errors and surface flinger errors. I don't get a GPS crash, the cast screen option exists and appears in the quicksettings with the later versions of mirrorenabler. The tab will "think" it is casting, but I get a blank screen and when trying to stop casting will soft reboot. That is about all I have I think..
Hope that may help someone!