our Windows 2008 Server will run for about 10-15 minutes until the _proapsv.exe processes usually two take up all 100% of the CPU.
Do you mean the AppServer agents take all CPU cycles? Or each of the two Appserver agents takes 100% of one core? If you have more than two cores in this machine I assume you mean the latter, as the AVM is single-threaded. Do the AppServers and their code reside on the DB server?
You want to know what the agents are doing, i.e. what code they're running. With 10.1B your diagnostic options are limited. You can't use Client Statement Caching, as that was added in 10.1C. I don't think you have the ability to run proGetStack either, though if you do that will give you a stack trace of the client so you can see what code it's running when it's spiked.
You can at least gather CRUD stats, assuming -tablerangesize/-indexrangesize are set appropriately for your schema, either using your own code or
ProTop. That will tell you which tables and indexes you're hitting, and when, which may give you a clue about what code is running. Using -logentrytypes is also helpful, though be cautious in production as some of them can give you very verbose logs. Although I don't remember which of those are available in 10.1B. Check your version of the Debugging and Troubleshooting manual for details.
It is also possible to enable profiling with AppServers, but again that can result in a lot of data in a hurry, especially in a case of CPU spikes. At the OS level, keep an eye on perfmon as that will tell you which resources are being used most.
As Cringer said, look for changes. New code, different client startup parameters, propath changes, missing r-code and doing session compiles are a few common client problems. Also, double-check the DB and make sure it wasn't restarted with different params, and didn't have any params changed online (e.g. via promon).