does it run indefinetely? if so, you might want to try a different approach, like a using pkzip or an easier command line app
try using start before the statement or system call
exec('"start c:/program files/apache group/apache/bin/winzip32.exe -a -en" "c:/program files/apache group/apache/bin/downloads/'.$name.'.zip" "c:/program files/apache group/apache/bin/downloads/'.$name.'"');
or
//im not sure if this would work
exec('"command c:/program files/apache group/apache/bin/winzip32.exe -a -en" "c:/program files/apache group/apache/bin/downloads/'.$name.'.zip" "c:/program files/apache group/apache/bin/downloads/'.$name.'"');
or
system('"c:/program files/apache group/apache/bin/winzip32.exe -a -en" "c:/program files/apache group/apache/bin/downloads/'.$name.'.zip" "c:/program files/apache group/apache/bin/downloads/'.$name.'"');