Let me understand this... you say to_number() function does different things depending on the data and then you say you are troubleshooting it by looking at explain plan?

wow!... I remember having a bottle of brandy around here, let me see...