Your -B value of 9096 is ridiculously low. With 4k blocks that is just 36MB of RAM. That hasn't been a reasonable amount of RAM for the buffer pool since 1985. It is a wonder that your application can even start with such a small value.
Unless you are running the db on a TRS-80 you should be able to set -B to at least 100000. That would be 400MB of RAM. Obviously double check your available RAM via Windows perfmon or taskmgr but I would be shocked if you do not have enough free memory to set -B 100000.
The point of -B is to reduce IO ops by buffering data in memory. Disk IO (IO ops) is much, much slower than memory access.
*Thousands* of times slower (milliseconds vs nanoseconds). The fastest access to data is when it sits in the buffer pool (-B). So you want as much of your database as is practical to be in the buffer pool.
There is, however, no point in allocating a buffer pool larger than the database
If you are running 32 bit executables you are limited to 2GB (-B 500000 with 4k blocks). It is now 2014 and 2015 is just a couple of weeks away. Nobody should be running 32 bit databases servers.
The rough measure of buffer pool effectiveness is "hit ratio" or "hit percentage". This is the ratio of "logical access" (buffer pool reads and writes) to "physical access" (disk reads and writes). You can obtain this value from PROMON or Protop. I prefer Protop
Improving the hit percentage takes very large changes in -B. The effectiveness of -B is related to the
*square* of its size. If you want to reduce disk IO ops by 50% you need to increase -B by a factor of 4. The Protop "BigB Guesstimator" can help you to project the likely improvement from changes to -B.
The hit percentage is not the end-all and be-all metric (bad code and table-scans can provide very misleading indications) but it is a useful starting point when you are trying to improve things.
Most of your configuration appears to be default settings. Those are unlikely to be optimum. Especially if you really have the 300 users that your -n implies.
Lowlights of your configuration:
-B 9096 -- this is obviously far too small. As I said, try 100000 for starters.
bi cluster size is 512k -- this is far too small for all but the most trivial databases, proutil hms -C truncate bi -bi 16384
-L is silly large -- but that is likely to be an application coding issues and not something that can be fixed by a DBA.
-lruskips 0 -- should be non-zero. As Cringer says 50 is a good start.
-prefetchDelay should be enabled, -prefetchFactor 100 is a good value.
-Mm should be larger. I like 8192 for starters.
If you actually have SQL connections (ODBC and the ilk) then there should be dedicated 4GL and SQL login brokers -- not "both".
I do not see an AIW being started or any other indication that after-imaging is enabled. After-imaging is essential to responsible database administration. Not enabling after-imaging is irresponsible.