If you are going to use PRINT statements in Stored Procedures, then you should be prepared to run them local (unless your server is visible from your development machine). Pervasive always returns data to the calling application. Interactive functions like "PRINT" are handled at the engine level. Here's how I'm set up:
1. Development machine with local copy of the data, dev environments (C#,
VB.NET, VB6, C), and local engine (server engine usually because it runs a service and it's works the same as the workgroup). Typically WInXP Pro.
2. Server (running Win2000/2003/Linux) running the Server engine with a copy of the data from the local machines. I create the same Engine DSNs as the dev machine.
3. CLient DSNs (with "cli" prefixing the Engine DSN name) on the Dev machine. Also have mapped drives for the Btrieve side of things.
I've also used Virutal PC but found it's almost as easy to reinstall an OS on one of my "server" machines.