If it was added back in anywhere I would say the Character select screen or the launcher, least then it is only "opened" once every so often rather than frequently. They probably just don't see the effort to fix it being worth the coder time.
Given i know nothing about coding....doesn't that seem extremely haggard? reminds me of my first car a 93' explorer. if i kicked my door hard enough my hazzard lights would come on.
I get the feeling their entire back-end is just layers of spaghetti. Any sane system would simply have the expiration date/time as a unix timestamp (a whole 10 characters used on the account table per account) which could be queried at login by the client and then displayed as needed. IE only looked up once per login. I'm going to guess that every time you open the inventory window it has to load everything in it from the server each time. I'd also bet that the various systems they use for payment/accounting don't all use the same style of timestamps, so they have to convert things which leads to errors when its not clean. Basically think about how you would design something, then get REALLY drunk and re-design it... the latter is probably closest to their reality.