the first letter becomes the last letter, the second letter becomes the second-to-last letter, and so on

This definition means string reverse rather than rotation, while you apparently meant right (or clockwise) string rotation which is:
1st character becomes the 2nd, last ones becomes the 1st, repeat until the first string will become equal to the second string. As to your sample:
hello -> ohell -> lohel -> llohe

Chad, thank you for complete explanation of available options. As to you questions:

1. We have a TASKMGR task which calculates the size of each global in all databases. It's usually scheduled by our customers for daily run.
2. The main purpose of collecting such info is the ability to quickly answer the questions like this: "why my database is growing so fast?". Integrity Check is not used for the similar purpose because it can't be scheduled for daily run due to its relative slowness in our versions of Cache and IRIS.

Hiroshi, take it easy - everybody can make a mistake.
Meanwhile, I'm sure that $ZIO was initially intendent for terminal devices only. Here is the oldest link I was able to find: https://cedocs.intersystems.com/documentation/cache/cache41/olr/olrvzio....
Why not use ##CLASS(%SYS.ProcessQuery) for similar purposes? It's more powerful and better documented than some "mystic" system variables and functions.
Happy writing!

Hiroshi,
May I ask you where did it ever work?

Here are the results of quick test in Studio Output window: 

w "*"_$zio_"*"
**
w "*"_$zutil(67,12,$j)_"*"
*MYPC*
w ##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientNodeName ; prefered (documented) way
MYPC
w ##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientIPAddress
10.8.3.37

Alternative program which supports CacheActiveX connection showed the same results, by the way, regardless of server's platformwhether it was UNIX/Linux or Windows.

IRIS for Windows (x86-64) 2021.1 (Build 215U) Wed Jun 9 2021 09:39:22 EDT

while results were similar in all previous Cache/IRIS versions I managed to run.