Heat the butter in a saute pan over a medium/low heat, then lower the heat to low and stir in the onions and sugar. Cook, stirring often, for 15 minutes or until golden brown and caramelized but not burned. TIP: If the onions begin to burn, add a tablespoon of water and continue cooking.
Stir in the garlic and cook for a further minute. Remove from the heat and allow to cool.
Add the cream cheese, mayonnaise, yogurt, worcestershire sauce, garlic powder, pepper and salt to a mixing bowl and stir well to combine. When the onions are cool, stir them in.
Cover and refrigerate for at least 2 hours, or overnight, for the flavors to blend.
Chop the onions very finely with a sharp knife.While cooking the onions, if the onions begin to burn, add a tablespoon of water and continue cooking.Be sure to add the garlic in the last minute of cooking to prevent it from burning as it could become bitter tasting.The flavor of this dip is best once it has a chance to sit for at least 12 hours or up to overnight.