Bug in glyph.isEmpty() ?
A glyph with no components nor contours but marked returns 'False' to glyph.isEmpty()
I checked in FontLab and doesn't happen there, so I guess it's not a robofab issue.
It will return False also if there is a key in the glyph.lib. Main reason is that the glyph.lib contains user set data and when a user has added some data in the lib, like a mark color, but also layers, the glyph has some data so its not empty...