No, I really can't offer you a better approach. It makes sense to do as you are doing, basically at least. You might try lengthening the time between visits a bit; the 45 minutes is perhaps too frequent. Adding a reward every time he uses the toilet to void would be a useful addition, though it may not carry much weight. It really depends on his ability to pair the reward with his behavior. This might be beyond his capacity. But it won't hurt to try.