from what I know that if you are from v5r4, you will need to recompile all your program and test it out in V6r1. The reason is because there are some differences from both the version.
With v6r1, I believe you can do tape encryption too.
AFAIK, V6R1 only requires recompilation of programs that (1) have not been compiled under OS/400 V5R1 or later, and (2) had all observability removed.
That is, a program that was last compiled under V4R4 and had observability removed will need to be recompiled. But if that program had been compiled under, say, V5R2, then it should be fine on V6R1 even with all available observability removed.
Or if the program had been compiled at V4R4 but observability was kept, then that program should also be okay for V6R1 without recompiling.
The removal of observability in pre-V5 took out information needed by V6R1. IBM changed how V5 handled observability so that newer programs kept the right information.
That’s a little simplified, but it should be a decent guideline. (I’m sure someone will correct any necessary details.)
As for the actual question, please describe all hardware and software on your system and provide a general description of how everything is used. Once we know that, we might be able to list some of the things that might be a problem for you.
It will probably be easier if you read the V6R1 Memo to users and the Installing, upgrading, or deleting i5/OS and related software topic for V6R1. Then ask specific questions about items that trouble you.