Brian,
in this case the output to the page is the previous error:
Warning: Invalid argument supplied for foreach() in .../WA_DigitalFilePro/HelperPHP.php on line 80
since this is a warning, it does not stop the script from processing, so when it gets to the header function, the error is considered output and throws the header already sent error.
Daryl,
give me a few to look over the code...