Per the Adobe documentation for Text
  Sizing a Text control
  
  Flex sizes the
  Text control as follows:
  
  If you specify a pixel value for both
  the height and width properties, any
  text that exceeds the size of the
  control is clipped at the border.
  
  If you specify an explicit pixel
  width, but no height, Flex wraps the
  text to fit the width and calculates
  the height to fit the required number
  of lines.
  
  If you specify a percentage-based
  width and no height, Flex does not
  wrap the text, and the height equals
  the number of lines as determined by
  the number of Return characters.
  
  If you specify only a height and no
  width, the height value does not
  affect the width calculation, and Flex
  sizes the control to fit the width of
  the maximum line.
  
  As a general rule, if you have long
  text, you should specify a pixel-based
  width property. If the text might
  change and you want to ensure that the
  Text control always takes up the same
  space in your application, set
  explicit height and width properties
  that fit the largest expected text.
So the trick I've used to deal with this is to have the Text get its width via a binding expression from whatever container limits it's width, typically the immediate parent.
e.g.
<mx:Canvas id="box" width="100%" backgroundColor="Red">
    <mx:Text width="{box.width}" text="{someReallyLongString}" />
</mx:Canvas>