using api.getoptions to retrieve all options for a field (even disabled)
Looks like you found a bug. Here is a fix:

https://github.com/civicrm/civicrm-core/pull/9540

Could you please review it and leave feedback on github to speed along the merge process?