When count= 0, mpich should not raise error if  array_of_requests is NULL.  Otherwise, one has to write code like if (count) MPI_Startall(count, reqs).  Note reqs is often NULL if count=0.  See also MPI_Waitall, which has the correct logic.  

MPI_Startall(int count, MPI_Request array_of_requests[]) {
...
        MPIR_ERRTEST_COUNT(count, mpi_errno);
        MPIR_ERRTEST_ARGNULL(array_of_requests, "array_of_requests", mpi_errno);
}
--Junchao Zhang