ext3 is a pretty solid filesystem, the problem is far more likely to be in the controller driver or the hardware itself.
I can vouch for this. At my day job, we have a prototype product where we are pretty abusive with ext3. It's an embedded app where the system is frequently power cycled without warning. I initially had some misgivings about using ext3 in this environment, but based on our experiences over the past few months, ext3 is pretty robust even when (mis)used in this manner.
I'd still stop short of recommending that it be used this way in a production product, but I am definitely impressed.