What the... yeah, that definitely sounds seriously messed-up. I assume the Berry wouldn't have brought Chikorita to full health even if it had been eaten... very, very strange. Sounds like the game isn't recognizing Pokemon HP levels properly. That would explain why Chikorita didn't eat the Berry and why it magically had full health after the battle.

As for the "berry threshold," I'm having a surprisingly hard time finding data on it, actually. I would assume it's somewhere between 25% and 50% HP, although it may vary depending on the specific item and the Pokemon holding it. (Imagine giving a Lv. 3 Rattata a Gold Berry... if it used the fruit while at 50% health, you'd likely be furious at it for being wasteful.) If your Pokemon was in the red, though, it probably should have used the item... and it definitely shouldn't have been healed without using it.

(Related question: Did you finish the battle with your rival in the same turn as the critical hit? If so, that might explain why the Berry wasn't used. My memory of the action order is rusty, but use of a healing item might be restricted to the "between turns" phase in GSC.)