Always accessing array.Length is defensively coding. In the event your array is mutated, always accessing array.Length ensures you won't run into an Index Out of Bounds exception.
Even better is to just avoid accessing the array's length. I almost always use foreach or Linq.