Unfortunately, that is mSL. It's not a bug, it's a limitation. Although you can script an alias (or two for clarification) to work around it, I do understand your point. If they do update how mSL interprets "empty strings," I'm all for it.
On another note, it would be pretty fun to script a "string" alias that would have various properties to read empty strings, add/remove trailing whitespace, etc.