Lo suficientemente extraño: creé mi TextView en código y se envolvió, a pesar de que no configuré nada excepto cosas estándar, pero compruébelo usted mismo:
LinearLayout.LayoutParams childParams = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
childParams.setMargins(5, 5, 5, 5);
Label label = new Label(this);
label.setText("This is a testing label This is a testing label This is a testing label This is a testing labelThis is a testing label This is a testing label");
label.setLayoutParams(childParams);
Como puede ver en la definición de parámetros, estoy usando un LinearLayout. La clase Label simplemente extiende TextView, sin hacer nada allí excepto establecer el tamaño y el color de la fuente.
Al ejecutarlo en el emulador (API nivel 9), envuelve automáticamente el texto en 3 líneas.