I'm not sure COBOL does (it certainly didn't at one time), but I can't quite imagine anybody caring much either.
Fortran has since Fortran 90, but requires that you use the
recursive keyword to tell it that a subroutine is recursive.
PL/I was pretty much the same -- recursion was supported, but you had to explicitly tell it what procedures were recursive.
I doubt there are many more than that though. When you get down to it, prohibiting recursion was mostly something IBM did in their language designs, for the simple reason that IBM (360/370/3090/...) mainframes don't support a stack in hardware. When most languages came from IBM, they mostly prohibited recursion. Now that they all come from other places, recursion is always allowed (though I should add that a few other machines, notably the original Cray 1, didn't have hardware support for a stack either).