fixed: FileCache-full logic was wrong + create seperate IsCacheFull() functions
fixed: Don't keep reading source when cache is full (fixes #15500)