There is not too much needed to do different between a gbpvr server and an mvp/pch.
I've removed time processing before (ie updating a time on a second by second basis) since that seems to give a bit of server trouble.
But other than that everything is fair game.
To identify an mvp/pch client you can use the PluginHelperFactory.GetClientIdentifier(). The MVP's identify themselves as mvp-xxx not sure about the pchs.
AMD FM1 x4 A8-3870 Llano, Gigabyte GA-A75-D3H, 4 Gb DDR3 Ram, Seagate 500 Gb, Seagate 1500 Gb, HVR3000 x 2 (DVB-S), Nova-T 500 (DVB-T), USB-Uirt, SPDIF -> Yamaha RX-V540, ATI HD6550 (OnBoard) > Samsung LA46A650 TV (HDMI), Harmony Remote 525
Windows 7 Ultimate x64 SP1, NPVR 2.4.3, AC3Filter, 1 x Popcorn Hour A-100, 1 x AppleTV with Plex