Adding stuff to the return value of the recursive function isn't required, as you are passing all components of the number down to each level of recursion, so the value calculated for temp at the deepest level of recursion is the complete answer.
I have to apologize for something here: I didn't realize that you were actually using the cout statements in recur_num() for output. I thought they were just in there for debugging, since you were also doing a cout of the final return value from recur_num() back in the original calling function. Nonetheless, I think it is a lot simpler to not use cout in the recursive function, because of the way you are calculating the result. (The fact that you calculate the complete answer at the deepest level of recursion is exactly why I assumed that you were using the cout statements as debugging.
I also took a closer look at your original post, and your example is a little misleading. If I understand the problem from the comments in your source, you are only supposed to print the reversed number if the digits of the original number were in ascending order, is that right? If so, 132 should be skipped, rather than returned as 321 as your original post suggested.
Now that I hopefully understand the desired results, you also have a 2nd coding problem in the is_increased() function where it only detects the non-increased condition if the first two digits checked are in the wrong order. Once again, this is a case of not returning the result of the recursion process back through the recursion chain.
Since we've gone back and forth enough times now without quite having a meeting of the minds, here's my adjustments to your code so you can compare the methods and results. I'll comment the changed lines. I hope this helps you.