Why Drupal won't remember "use search" permission settings for roles?
PHP has a default setting of 1000 for max_input_vars, and once you have a significant number of modules and/or roles defined, you end up with an excess number of permissions boxes on the page. 

In your php.ini file add max_input_vars = 1500 and keep incrementally increasing it until it saves.