Views Data Export Permissions Problem
I found the problem.

I was using user_load() in an earlier example, and was still using it rather than the uid. 

The final access check should be...

function couples_page_custom_access($account = NULL) {
    global $user;
    $access = false; 
    $node = node_load(arg(1)); // Get the nid from the URL of the CSV file.

    // If the UID of the currently logged in user matches the UID of the node author return true.
    if ($user-&gt;uid == $node-&gt;uid) {
      $access = true; 
    }
    // Else check if the current user is admin so we can download what we like.
if (in_array('Admin', $user-&gt;roles)) {
  $access = true;
}
    return $access;

  }


I also added a check to return true if the current user is an Admin.

I really hope this helps someone else, and saves the time it took me to get to this!

Still, every days a school day!