You have two mistakes:
1. You've used array notation to access the 'cat' variables, without specifying the array. Because they were created in 'this' space, reference 'this'.
2. Without putting quotes around the letters, they're seen as undefined variables. Put the quotes around them and they'll be seen as String variables.
Here's your code, corrected:
CODE
cat0="z";
cat1="a";
cat2="b";
cat3="c";
cat4="d";
cat5="f";
var my_array = new Array();
for(i=0; i<=5;i++){
my_array[i] = this["cat"+i];
}
trace(my_array);
2¢
QUOTE(BetaWar @ 26 Sep, 2008 - 03:05 PM)

If you want it to output the values and not the array try this:
CODE
var my_str:String = new String("");
for(i=0; i<=5;i++){
my_str += " cat"+i;
}
trace(my_str);
Hope that helps.
That doesn't help. This is the output of your code:
CODE
cat0 cat1 cat2 cat3 cat4 cat5
Please test your code before posting.