Let's assume there's a limit of 255, I've never come across it but your tests don't lie. You need a work around.
1) Can you break it up into different functions? Do all the parameters relate to each other or can "similar" parameters be passed to their own function calls?
2) Seeing that you're dealing with a database. How about you insert the 300 parameters into a table and assign the row a unique key (you can load them into a datastore and update the parameter table that way). Then all you need to do is pass your DB function the key and you can fetch all the data on the database side instead of passing it all in.