legacy tables and foreign keys

Not sure what I'm doing wrong. Sorry for the length.
Setup: ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.9.1] / Rails 1.2.2

One estimate has many parts.

class Estimate < OldBase # These are legacy tables that cannot be changed.
  set_table_name 'ESTIMATE'
  set_primary_key 'EST_NUMBER'

  has_many :parts, :class_name => "OldPart", :foreign_key => "EST_NUMBER"
  # Estimate has a field with the name of 'ID' used as a human readable identification -- not as a unique id in the sense of rails.
end
class OldPart < OldBase
  set_table_name "EST_PART'
  set_primary_key 'IDNUMBER' # used as rails would use the field 'id'

  belongs_to :estimate, :foreign_key => "EST_NUMBER"
  # in OldPart is a field EST_NUMBER which contains the number of the parent estimate.
end

Trying it out
  >> reload!
  >> estimate = Estimate.find_by_EST_NUMBER(11355)
  >> pp.estimate.EST_NUMBER
  "11355"
  >> pp estimate.ID
  "230-0019-00 "
  >> pp e.parts
  []

Looking in the development log
  SELECT * FROM ESTIMATE WHERE (ESTIMATE. EST_NUMBER = 11355)
  SELECT * FROM EST_PART WHERE (EST_PART . EST_NUMBER = '230-0019-00')

I expected
  SELECT * FROM ESTIMATE WHERE (ESTIMATE. EST_NUMBER = 11355)
  SELECT * FROM EST_PART WHERE (EST_PART.EST_NUMBER = '11355')

Changing
class OldPart < OldBase
  ...
  belongs_to :estimate, :foreign_key => "EST_NUMBER"
to
  belongs_to :estimate
or to
  belongs_to :estimate, :class_name => "Estimate", :foreign_key => "EST_NUMBER"
or just removing the belongs_to line

has no effect.

Has_many associations for other tables work fine.

What am I missing? Suggestions?

Thanks
Pat