Cut a 1/4-inch slice from the top of each roll. Hollow out centers of rolls, leaving 1/2-inch-thick shells; reserve tops and inside of rolls for another use. Bake bread shells at 350° for 7 to 9 minutes or until golden. Set shells aside.
Melt 1 tablespoon margarine in a large ovenproof nonstick skillet over low heat; sprinkle sugar over melted margarine. Arrange onion halves, cut sides down, over sugar mixture. Sprinkle onions with pepper, and drizzle with 1/2 cup wine. Cover and cook over medium-high heat 10 minutes, shaking skillet occasionally to keep onions from sticking. Add remaining 1/2 cup wine. Reduce heat to medium; uncover and cook 8 additional minutes. Place skillet in oven, and bake, uncovered, at 350° for 12 to 15 minutes or until onion is tender. Remove onion from skillet, and set aside.
Melt remaining 1 tablespoon margarine in skillet over low heat. Add flour, stirring well with a wire whisk. Gradually add milk, stirring well; add thyme. Cook over medium heat, stirring constantly, until thickened.
Spoon 2 tablespoons sauce into each toasted bread shell; reserve remaining sauce. Place 1 onion half, cut side up, in each bread shell. Sprinkle cheese evenly over onion halves. Broil 5 1/2 inches from heat (with electric oven door partially opened) 5 to 7 minutes or until cheese melts. Sprinkle with paprika, if desired. To serve, spoon remaining sauce evenly over bread shells.