I have seen a couple of people attempt it deliberately ("I could see the data I wanted in the dump, my definition just wasn't long enough in the LINKAGE SECTION"), but soon squashed that. I'd say I wouldn't expect deliberate cases of that. Or not many. No-one would think that an expedient solution in any scenario. Or almost no-one.
Accidentally is a different issue. I've seen cases of storage being overwritten without it causing a problem, because the storage which was overwritten wasn't used after it was trashed. The values doing the overwriting were not relevant to any logic (in one case there was a FILLER at the end of copybook, and a second FILLER at the same level in the LINKAGE SECTION, in another someone had "used some of the FILLER at the end" of a structure defined in the LINKAGE SECTION, without reducing its length - both utilising group moves). These type of programs "run normally" until someone adds some new storage at an unfortunate place in the CALLing program, so that now something significant is overwritten. Or until indexes magically appear...
So, deliberately (like the "table back-stop"), no. Accidentally, yes, I'd expect some "working" programs to be doing that, but they are already accidental accidents waiting to happen, and there won't be as many cases as the back-stop. Other than the nifty RDz checker, which would get some (not the wild reference-modification examples), there's no real forewarning possible on that.
And no, adding a FILLER in the CALLing program would not be a fix, as the problem only needs to be fixed in one place, the CALLed program. The data "defined" in the CALLed program was not good data. In the case of the table overflowing in the CALLed program, the data is good, just nowhere to put it, except by adding the spare in the CALLing program, until you can get around (if ever) to changing the 20 others which don't happen to have an overflow. Yet.
BillWoodger