I don't care if I get shamed; if even one person here learns something new today then I'll gladly accept scorn from the rest of them. Due to a variety of what appear to be minor coding errors, almost every apricorn ball in gen 2 is either completely broken or only works in an extremely narrow use case. Let's run down the list:
>Lure Ball
Works as intended.
>Level Ball
Catch rate modifier works as intended. Bulbapedo alleges that the Level Ball ignores all other catch-rate variables but a quick half-educated glance at the disassembly didn't seem to corroborate this claim. Still, I didn't look very hard. Call that inconclusive for now.
>Heavy Ball
Works as intended; interestingly, the catch rate bonus is additive instead of multiplicative like all other balls. However, the only Pokemon in GSC heavy enough to hit maximum catch rate bonus are Snorlax and - in Crystal only, due to another glitch in the function which retrieves the target's Dex weight - Kadabra and Tauros, who have index numbers 64 and 128. Sunflora (#192) is also affected by this bug, but it isn't obtainable in the wild. I thought I had seen it all, but I actually only just learned about this part while fact-checking this post.
>Friend Ball
Works as intended. However, the only Pokemon available in the wild that evolve via friendship are Zubat/Golbat and Chansey (which isn't obtainable until near Fuschia City). Crobat appreciators, keep an eye out.
>Fast Ball
Works as intended... against Tangela, Grimer and Magnemite, the first Pokemon in each of three flee-chance tables. Catch rate 1x against everything else, even other Pokemon that can flee.
>Love Ball
It's gay. Its massive 8x catch rate multiplier works against Pokemon of the same species and SAME gender, instead of opposite.
>Moon Ball
Actually, completely broken. It's meant to catch Pokemon who evolve with a Moon Stone, but due to an outdated item-ID pointer from gen 1, it actually checks if they evolve from Burn Heal which, of course, nothing does.