I think you want to use 'validate' context not 'create'
The difference is that 'validate' will give you machine names (which is what you want I believe) while 'create' gives you translated labels.
See CRM_Core_DAO::buildOptionsContext() for a very helpful reference on how to use the new BAO::buildOptions method.