In method 1 it is unnecessary to use RegisterClientScript in the content pages since the script is already included as part of the master page. Whatever source told you to do it that way was utterly daft.
If the script has been proper;y included then your functions should be available for use.
There are URL arguments to pass to web page some text params but is there a way to pass to web site some chunks of binary data about 50-100K in size?
Is there some API that allow to pass such data from custom client not IE browser.
E.g. there is custom application that send to server binary data and recieves some results as binary data also.
You can't have 100k worth of data in a URL. There are limits to how long a URL can be. I don't think that all browsers have standardized on that number, but I think anything over 1000 characters is probably going to cause issues.
You can save the binary information in a file and do a file upload. Then the browser will handle conversions for you. ASP.Net has large chunks of binary data that it passes back and forth called ViewState that uses encryption and base64 encoding. In C# you can certainly write a program that uses WebRequest objects to build a request from scratch.
In general though it doesn't sound like you need the HTTP protocol. It would probably add a lot of overhead.
The easiest way would be to convert the binary to hex represented in ascii, then post the ascii text. On the server side you could convert the ascii back to binary. This adds a lot of overhead, and bloats the data, but if your not too concerned about it, its a easy way to go.