A little background on GPS (for those that care). Each satellite transmits a psuedorandom signal with information about the location of the satellite, location of other satellites, and the time the signal was sent. The GPS receiver compares the time the signal was sent with the time received to calculate a distance from the satellite. This gives the receiver a sphere it is located on around the satellite. By doing the same thing with at least 3 satellites, the receiver can provide a horizontal fix (4 satellites to provide altitude information).
The process of finding available satellites and calculating location info can take several minutes if the receiver starts with no information about the satellites. Thus several methods of speeding the initial information gathering process exist including using a secondary but less precise nav source (i.e. cell towers), relying on previous but recent satellite/location data, or downloading satellite info from an alternate source (likely what our phones do with aGPS).
Outside satellite info can also provide error corrections to enable more precise navigation through a system call WAAS (Wide Area Augmentation System). If a satellite's signal is bent or refracted coming through the atmosphere, it will cause it to travel a longer path and thus report an errant location. WAAS data might include something like: for satellite 23 in the east texas area subtract 100 picoseconds from calculated time. This would shift the location relative to satellite 23 by 98 feet.
I'm not sure if aGPS data is including WAAS data or just satellite almanac data, but if it was providing erroneous data, for whatever reason, that would cause the receiver to produce errors where the data says satellite 23 is X position but the receiver sees the satellite in Y position preventing a fix.
Hope this sheds some light on GPS operations.