I have so many unique situations that I don't know if Proteus would help. I have an unlimited number of development boards, but what is hard for me is simulation. I'm using all the pins of an '8723 (and in some cases, 2 8723's "lashed" together). I have so many combinations of digital, analog, and serial data that testing is becoming very, very time consuming.

And I have to deal with a lot of external hardware. Like I2C. And I almost always control fans using a PID control loop using the PICs CCP registers to send 158Khz PWM out to a "buck" converter, which is filtered to give pure DC to the fans. I watch the fan tachometers and use that feedback to control the PWM. I have an algorithm that automatically sets up the coefficients for any fan (big or small) that I hook to it. But it seems like I'm always tuning that algorithm.

I also need to process a lot of serial data - often SNMP packets that have to do a large amount of parsing. I use Lantronix XPorts or MatchPorts to do the network "heavy lifting" but long packets still come in over the USART or SPI port. The ability to inject long strings into those ports and watch the execution of the parser would be priceless. Right now, I capture network packets with WireShark and go through long lists, byte-by-byte.
Since I'm dealing with external devices, a lot of things are time-critical as well.
The whole test process takes far too long.

I can't imagine that Proteus could do all of what's needed, but if it could help me with even part of what I'm doing, it would be money well spent. What do you think?