Your comments

When I call it, its just in a straight if statement off a GUI.Button() call.  Works there.
BTW-

UnityEditor.VersionControl.Provider.Checkout( PathToAsset(), UnityEditor.VersionControl.CheckoutMode.Both ).Wait();

This works for me for my Editor stuff.
Issue remains in current version 0.27.
This is affecting me heavily as well.  I have shaders that reproduce the lightmapping in Unity, and needless to say, its crazy time consuming to open the shader.
I've detected this on my Windows machine, with the platform target also windows.
I also have experienced sporadic non-functionality of the time node.  Usually fixed by loading the shader again and recompiling it.
Issue remains in current version 0.22.
Drop me an email (bhall@turbine.com).
Yes, Team License required.  Perhaps Unity can extend one to you?  Otherwise I think a trial Pro license will give it to you.
Surely!

1. Hit Ctrl-0 to bring up the version control window.
2. Click the settings button in the upper right to get at the settings panel.
3. Under Mode select "Perforce"
4. Enter your p4 username 
5. Enter your p4 password
6. Enter your p4 workspace for your project
7. Enter your p4 server:port
8. Log Level to Info
9. Check Automatic Add
10. Do not check Work Offline
11. Asset Serialization "Force Text"
12. Default Behavior Mode 3D
13. Sprite Packer Enabled for Builds.
14. Click Connect button mid upper right.

Enjoy Perforce!