Maybe ASPUpload will do this, or XUpload
(
http://www.aspupload.com/xupload.html) -- IE only.
However, ASPUpload is not free (see if your server already supports
it).
I'm not sure I understand this constant motivation to only use free
components. If it takes you even an hour to code up a solution
yourself, is your time not worth using elsewhere and just spend the
$100?
Again, you will have to search around for components that will do
this.
Or, ask your clients to not be so lazy and actually put the files in a
zip folder. There are free / cheap ZIP components that will allow you
to extract the contents of an archive once it is uploaded. You can
also schedule something within the OS to run in the background and
extract any new ZIP archives it finds in the upload folder.