Is it possible to differentiate between the (currently) 4 different imx233 Olinuxino models programmatically? Other than probing for the presence or lack of certain peripherals, is there a definitive way to tell one from the other?
No. The imx233 boards are not programmed with anything suitable for identification. Unlike the A20 boards that come with EEPROM programmed with some identifying bits during production.