Windows 7 caches memory that is not under demand. Should an app require memory, the OS will release the cached memory and make it available to the application. The idea is that if memory is not being used elsewhere, then might as well cache it so it can be used quickly when required. Thats what Superfetch is about.
Available is the sum total of the cache and free memory. So if your free mem is zero and available is plenty, it simply means that there is no active app taking up a lot of mem so the OS has cached it. It'll be freed immediately if required.