I don't know about you guys, but if the middle name was blank, I would have forced a middle name with something really wierd like "555abc" and then gone with the original code.
When the time came to read the data, the "555abc" could be replaced with "".
Very amateurish, but a heck of a lot...