Field sort random via PHP
You should be able to use template_preprocess_field() and shuffle() to do this. This is an example randomizing the entries in field_photo for a theme called dummy:

  function dummy_preprocess_field(&amp;$variables) {
    if ($variables['element']['#field_name'] == 'field_photo') {
      shuffle($variables['items']);
    }
  }


You could also try to replacing you call to usort() in your original code with shuffle($variables["items"]).

The above isn't tested, but I think it should work.