Jonathan, I remember now that sessions were optimized so that you didn't need to use session.forget(response) to increase performance. I ran these tests several times, and each test run makes 100 RPC calls per protocol, so there is a large test sample size. When playing with sessions, I would comment out the line, the run the test twice (for a total of 200 XML-RPC calls and 200 JSON-RPC calls), then uncomment the line and do it again. The results in my original post represent my observations.
As you mention, session overhead is pretty small and the average difference between forgetting the sessions and not forgetting them is about 3 ms per call, so for this test, it seems as though leaving the sessions alone and letting web2py manage them is the best route.