Are you sure you're adding your objects as children of the HBox? I do what you're doing all the time and it works - the HBox automatically reflows the contents. It sounds like you're adding things to a canvas instead of an Hbox.
One possibility is that although your flash assets have the correct width, it is not being accurately transferred to the container component. I've run into problems like this before where the containing component had a width and height of 0, despite containing an object that had a non-zero width and height.
Thats the code that I'm running, a and b are just some sprite objects I created thats created like var a:Sprite = Sprite(new randomShape()); where randomShape is a black octagon of some sort. So yeah, I am adding it to the HBox, not the canvas.
Unfortunately the issue isn't that the flash assets have a width and height of 0 (meaning it wouldn't be visible), its just that they don't have any seperation between each other, which they should cause I do something like hbox1.setStyle("horizontalGap", 40); meaning whatever I add to the hbox is organized in a horizontal manner of about 40 pixels in between each other. In this case, whatever I'm adding is not being dispersed...they're just added on top of each other.