This type of software (multiple sessions on the same computer) has existed for decades. The most popular one is built right into Windows: Terminal Services a.k.a. Remote Desktop Services.
The way to charge users for individual sessions is to use TurboFloat where you can control how many instances of your app can run at a time in individual sessions. See: http://wyday.com/limelm/help/using-turbofloat/
Does that make sense?