With the Nintendo DS's 10th birthday fast approaching, I feel that it's about time I had this problem with my original model unit resolved once and for all: After a few hours play from a full charge, the power light starts blinking, so after being green, it will go red-green-red-green and so on, and this is even though I have replaced the battery before now, the replacement being official Nintendo. Something wrong with the battery contacts or the power button or something?
Probably dirty or oxidized contacts. This is a common problem with charge level detection. Even a small amount of crud will voltage drop it enough to trip the low battery led.