iPhone lock time not showing showing all options
As described by Apple, they fixed a security flaw in iOS 3.0.1:


  An administrator of an Exchange server has the ability to specify a "Maximum inactivity time lock" setting. This requires the user to reenter their passcode after the expiration of the inactivity time in order to use the Exchange services.


Long story short, it's because of your Exchange email account. If you have administrator access to your exchange server, you can change the mentioned "Maximum inactivity time lock" setting. As described by this page it's changed by


  
  In the console tree, navigate to Organization Configuration > Client Access.
  In the work pane, click the Exchange ActiveSync Mailbox Policies tab, select an existing mailbox policy, and then click Properties in the action pane.
  Click the Password tab.
  Select the Require password check box.
  Select the Time without user input before password must be entered (in minutes) check box.
  Enter the inactivity time-out value in minutes.
  Click OK.