Unlike QueryString data, POSTed form data has a very high number of allotted characters. This is because the data is transferred in the headers and not in the URL.
Note that there is no limit on the number of FORM elements you can pass via POST, but only on the aggregate size of all name/value pairs.
While GET is limited to as low as 1024 characters, POST data is limited to 2 MB on IIS 4.0, and 128 KB on IIS 5.0. Each name/value is limited to 1024 characters, as imposed by the SGML spec. Of course this does not apply to files uploaded using enctype='multipart/form-data' ... I have had no problems uploading files in the 90 - 100 MB range using IIS 5.0, aside from having to increase the server.scriptTimeout value as well as my patience! :-)
See
KB #260694 to learn how to adjust the limits of POST data (this deals with adding/modifying MaxClientRequestBuffer in the registry).
In IIS 6.0 (Windows Server 2003), you can adjust this setting in the metabase. You need to increase the setting for AspMaxRequestEntityAllowed to allow larger files to be handled by the Request object. Look for this setting in metabase.xml; the default is 204,800 (200 kb), but you can change it to reflect your expected usage. You will need to restart IIS for this change to take place, unless "enable direct metabase edit" is enabled.