Combine the beans, 3 cups water, the onion, ketchup, maple syrup, brown sugar, mustard, molasses, Worcestershire sauce, vinegar and 1/4 teaspoon pepper in a 6-quart slow cooker. Set the ham on top, then cover and cook on high, 8 hours.
Transfer the ham to a platter and skim off the excess fat from the beans. Slice the ham and serve with the beans.