When should I ask questions about a paper?
I think a good general rule of thumb, when you don't know the authors in question, is when you've convinced yourself you can understand some piece of the paper (or resolve an apparent contradiction) with your current resources.  Once this is the case, try to craft a simple, brief and direct email which addresses the primary issue(s). Then sleep on it before sending it, as often things will be more clear the next day.

In your particular case, it seems reasonable to ask about details of the algorithm, but I would not ask about your implementation.  However, they may be willing to share their code with you if it is non-proprietary and not a complete mess (like most of my code!), which you can then use to understand the details of their algorithm and check your implementation.  (Have you already checked their websites to see if they made the code available?)