Didn't look deeply into the position but I did spend 3 or 4 minutes on it which should be enough to offer something useful for you..
After 39. Bc5 I think Black had some good chances. Your King and e6-Rook could protect your e5 pawn while your other Rook was free to 1)answer and make threats on kingside 2)support a queenside pawnstorm which should produce a protected passed pawn(if executed with patience).
But.. 39. ..d3? produced an UN-protected passed pawn with no plan to how you would support it and no other threats were set up before hand that you could attack when White uses time to capture the d3 pawn.
In the final position White's King was coming to e3 spelling inevitable doom for your kamikaze d3 pawn. A draw was probably a wise move if you were looking to save rating points(which I respect btw).
On the other hand every ending you play builds your strength and experience.
I offered a draw, he accepted. Was I wrong? I thought he had a better position.