17 mph is a little slow for top speed, I think it may be an indicator of trouble or you may need to adjust the throttle cable. You should verify that you are running at 3000 RPM at full throttle, or perhaps a bit higher, maybe 3050 RPM max. If your max RPM is low, then the top speed will be low also.
My dealer said the hydraulic pressure and flow tests can identify a drive motor issue early, even before an operator may notice a problem. You might want to have that done for peace of mind, but you should expect to have to pay for the testing. I don't know how much, the labor on my repair was just a single line item, not broken down into individual tasks. I would guess at a couple hours max.
My experience with not going into gear is strictly an operator thing, not REALLY an issue with the machine. The control system in the Toolcat needs to see certain conditions met before engaging the drive system. First, the armrest has to be in the down position, and second, the drive pedal must not be depressed when you select forward or reverse. The controller does not recognize the armrest position instantly, it may take as much as 1 second from the time you lower the armrest. I often hop in, drop the armrest and hit the drive selector too fast, and have to select neutral again and back into drive. Also, I may be in a hurry switching from drive to reverse and leave my foot on the pedal a bit, so then I have to select neutral, remove foot from drive pedal, and re-select forward or reverse. I think if you watch the speed in which you make these changes, you will see the relationship which causes it not to go into drive or reverse when you ask. Now, I'm not saying it's perfect, I think it should check the status of the armrest more frequently, like 10 times a second, which is a very common sample rate in automotive control systems. Perhaps newer ones do?