あなたは非常に近いですが、元の文字列を解析する前にその日付形式を指定し、作成する前に出力の日付形式を設定する必要があります。
NSString *dateStr=@"29/07/2013 02:00am";
// Create a date formatter
NSDateFormatter * formatter=[[NSDateFormatter alloc] init];
// As rmaddy pointed out, you should set the locale:
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
// Set the date format for the input string
[formatter setDateFormat:@"dd/MM/yyyy hh:mma"];
// Create the NSDate from the string
NSDate *date=[formatter dateFromString:dateStr];
// Set the date format for the output string
[formatter setDateFormat:@"hh:mma"];
// Create the output string
NSString *finalDate=[formatter stringFromDate:date];
NSLog(@"%@",finalDate); // Output is: 02:00AM