Add the ground beef and onion to a large skillet and brown over medium heat. Drain the fat and return to the skillet, add the garlic, and cook for 30 seconds more.
In a small bowl, combine the ketchup, water, vinegar, brown sugar, Worcestershire sauce, mustard and salt. Stir until smooth and pour over the beef mixture. Stir to combine.
Reduce heat to low and cook for 5 minutes.
To make the sandwiches
Heat a large skillet or griddle over medium heat.
Butter one side of each slice of bread.
Place two slices of bread, butter-side down, in the skillet and top each slice with 1 ounce of shredded cheese. Spoon the sloppy joe mixture onto one piece of bread and cook for 2-3 minutes or until the bread is toasted and the cheese has melted.
Place the bread with the melted cheese over the piece of bread with the sloppy joe mixture to form a sandwich and cook for 1 minute more.
Repeat with remaining sandwiches, keeping cooked sandwiches warm in a 200 degree oven until ready to serve.