Preheat your oven to 300°F Trim the pork roast to remove most of the fat (leave some on); cut into 2″x2″ cubes. Place into an oven safe saucepan or Dutch oven along with the onion, orange, lime juice, bay leaves, salt, pepper, cumin, oregano, and water. Place on the stove over medium-high heat and bring up to a full simmer, stirring occasionally. Place a lid on the saucepan and move it to the middle lower rack of your oven. Bake at 300F for 2 hours, or until pork is fork tender (if you poke it with a fork, it easily slides off the fork). Remove the pan from the oven and turn the oven to broil. Using a slotted spoon, move the pork into a bowl and strain the liquid, placing it back into the pan for a glaze. Reduce the liquid over medium-high heat until the liquid reduces to about one cup.
Using two forks, pull each chunk of pork into two pieces, placing them back into the bowl. Toss with the reduced glaze to coat all pieces evenly; season with salt and pepper to taste. Place a baking rack onto a rimmed cookie sheet or a baking pan with raised sides (to contain any liquids). Place pork chunks onto the baking rack so that the juices will drip onto the baking sheet, about 1″ apart. Put the baking sheet back into the oven on the lower-middle rack and allow to broil for 5-8 minutes, or until the meat starts to crisp on the top. Remove from the oven, flip all pork pieces, and place back in the oven to broil for an additional 5-8 minutes on the second side, or until edges are crisp but not burned.
Remove the meat from the oven. Squeeze some fresh lime juice over the top and give it a sprinkle of salt. Serve with warm flour tortillas, guacamole, minced red onion, cilantro, salsa and sour cream. The result: pulled pork so tender it melts in your mouth, with crispy broiled edges that will make your heart sing. The addition of fresh lime juice and salt at the end really perks it up. Leftover pork (if there is any) would be awesome as a filling for enchiladas, tamales, or burritos.