Place ham in a large container; cover with cold water, and soak overnight. Drain ham, and scrub thoroughly with a stiff brush; rinse well with cold water.
Return ham to container, and cover with fresh cold water. Bring to a boil. Reduce heat; simmer 2 hours and 45 minutes or 15 minutes per pound. Let cool slightly.
Carefully remove ham from water; remove skin. Place ham, fat side up, on a cutting board; score fat in a diamond pattern, and stud with whole cloves. Place ham, fat side up, in a shallow roasting pan.
Combine sugar, mustard, flour, and vinegar; mix well. Coat ham with mixture. Bake, uncovered, at 350° for 30 minutes, basting occasionally. Transfer to a serving platter; cool completely. Cut into thin slices. To make sandwiches, place several ham slices between 2 bread slices; spread with mustard and mayonnaise.