There seems to be a bug in the scheduled task 'Update Membership Statuses' in 4.4.3. 
We have just changed the rule for status 'Grace' to allow an extra month for the grace period. If I re-save a membership manually it changes the recently-expired membership back to a status of Grace. So far so good and it proves that the rules are in the correct order. 
But I would now expect the scheduled task to change the others that have recently Expired back to Grace. *It doesn't.* It reports "Finished execution of Update Membership Statuses with result: Success (Processed 878 membership records. Updated 0 records.)"

Scheduled status updates have worked in the past. 

I've looked at '[membership statuses not being updated][1]' and '[Update membership status automatically][2]' and even the very old '[Membership status not updating from pending][3]' but these are all simpler cases.

Clearing the Civi caches didn't help.
Is the scheduled task logic different to the immediate logic?
CiviCRM is so damn fragile!
David

  [1]: http://civicrm.stackexchange.com/questions/3987/membership-statuses-not-being-updated
  [2]: http://civicrm.stackexchange.com/questions/9206/update-membership-status-automatically
  [3]: https://forum.civicrm.org/index.php?topic=13921.0