[...] what determines the difference in energy between the filled and unfilled molecular orbitals.
I don't know of any simple rule, method nor heuristic that would predict from its composition whether a solid is a conductor, a semiconductor or an insulator.
It's not a mere consequence of the elements' properties, as the same element or compound can be a semiconductor or an insulator depending on the allotrope. Pressure matters too: for instance hydrogen becomes metallic.
To some extent, atoms with very different electronegativity tend to make an insulating ceramic rather than a metal, but there are many exceptions like SnO
2 or AlN which are used as semiconductors, or like α-Sn (grey tin) which isn't metallic.
As well, bigger atoms tend to make a smaller bandgap. Compare (diamond) C, Si, Ge. Or Ga
1-xAl
xAs, GaAs...
http://www.ioffe.ru/SVA/NSM/Semicond/But materials often have several valleys in their conduction band, and the elements' identity and proportion act differently on these valleys, putting one or an other lower, or even changing the crystal's structure. So while one might have expected BN to have a wider gap than AlN, it's not the case.
Experiment is the real answer here too. Computer simulations have nice successes in predicting them by computing wave functions.
One should note that materials called insulators 30 years ago are now used as semiconductors: MgO, Si, AlN...
I have no worry to use "molecular orbitals" as a synonym for "bands". It's the same as saying "one molecule" for a piece of metal or semiconductor, which I feel correct since chemical bonds link the atoms together. Though, when studying such huge molecules, you shouldn't imagine that a bond is local to an atom pair, even in an insulator: this concept is wrong but fruitful in chemical reactions, it's wrong and misleading for semiconductors.