What to do when the Dalvik cache is full but the operating system does not recognize it? I have a strange scenario - my dalvik cache is full of dex files - around 150MB of space, but it appears that the operating system does not recognize these files as related to any application. 

I installed an App Cleaner and it says my cache is empty.
I went over some applications I use and saw that according to the OS they have no cache, but when I ls the /sd-ext/dalvik-cache directory I see these applications have dex files.

Can I simply run rm /sd-ext/dalivk-cache/* to solve this? Is there any risk?

Tech details:
ROM: MIUI
SD Extension: A2SD+
Rooted: YES
Don't confuse the App-Cache with the Dalvik Cache: App Cleaner refers to the App-Cache (e.g. cached files from the internet, aka "webcache", or from other components of the app), while the Dalvik Cache's .dex files are placed on app installation (they are an optimized version of the app code). So basically you compare apples with oranges.

As for your problem: e.g. Titanium Backup offers to cleanup the Dalvik Cache. There might be other apps available providing this feature (e.g. SystemCleanup), but in all cases this requires root -- unless you want to do a factory reset, which completely cleans the Dalvik Cache, amongst others.