The danger is how it's implemented given how DDO can react.
Assuming if it see's free spaces, it means DDO needs to lock those spaces to prevent them from being filled and lock player interaction so they can't interact with the bank either, otherwise player activity could cause bank spots to be filled and then the auto-removal from cache system to fall over as expected space is greater than actual space. What does it do with items in such cases? If you're lucky, it stays in the cache. If you're unlucky due to the order of events, it could just go *poof*. Or of course, if an item is removed whilst the auto-remover is attempting to do the same; if it works right, it should just be one item, but if not you could end up having a duplicate item. Might sound good for the player, but it's bad for DDO. Items with identical details cause.... "problems".
Players would also not be allowed to leave the vincinity of the bank to prevent the closure of the bank and causing problems (we know for exmaple interactions between mechanics of DDO can happen whilst the bank interface is open only). This might cause confusion for players not in the know and also if they attempt to log or for whatever reason they DC, and again, we don't since we won't know what interactions are allowed, we could have a wrong order of events and then an item that should be safely removed, now is lost forever due to player interaction with the bank.
In short, the idea is sound, but whether a safe implementation is possible is a really big question as well. I'd rather NOT chance any items being lost via this route (since we know DDO can "lose" items that leave no trace either, it can be troublesome trying to get them back whilst going through support).
J1NG
I actually got a software developer and tester and honestly this is backend stuff.
All that would be needed is that on the frontend you press a button, which sends a request to the server, likely a simple UDP would suffice with appropriate safety features. (or just plain TCP since this is a one time action and no need for it to be realtime, but I have no experience with TCP)
Either way, when that packet is sent, it contains the info about what player then in the backend the server would just need to remove from one table the contents related to the player and move it to another.(a simple SELECT * FROM table, then an INSERT INTO if done in sql, but that's just one database type so I don't know if it's NoSQL etc.)
If done well, even for many players this should be a quicker task and if need be, make a "request limiter" so for example a player can only use this feature once per day (irl) to ensure that they are not spamming it, etc. making the server overloaded and so on.
If done well, it could be implemented, there is no stuff (at least if done well) that would check "free spaces" etc. it's just that it should happen on backend, but every backend feature is likely to be "checked 10 times" for safety reasons.
The likeliest issue is it's easier to send 1 packet for 1 item to be sent over and handled and safer, but it could be done for a batch, especially considering reincarnation cache is a 1 way bank. So using this feature couldn't happen too often and if it did, it can be optimized really well. (or just run bank, etc. things on threads that are seperate and when all the things are done they are remerged.)