legacy MTI schema

Hi all,
In a legacy 'immutable' schema I have MTI inheritance setting:

<<TABLE systems>>

id<<PK>> ( NOT database generated)
installation_date
manufacturer
serial_number

<<TABLE lifters>>
id<<PK>><<FK>> ( NOT database generated )
max_weight
drive

In my model I have implemented the semantic of inheritance between
System and Lifter in this way:

class System < ActiveRecord::Base

has_one :lifter
         :foreign_key=>:id,
         :dependent=>:destroy,
         :autosave=>:true

delegate :drive, :drive=, :max_weight,:max_weight=,:to=>:lifter

# trick for polymorphic query

end

class Lifter

  belongs_to :system,
                  :foreign_key=>:id,
                  :dependent=>:destroy,
                  :autosave=>:true

  delegate :manufacturer,
           :manufacturer=,
           :serial_number,
           :serial_number=,
           :installation_date,
           :installation_date, :to=>:system

  alias system_without_build system

  def system

      system_without_build || build_system
  end

end

In the client code :

lifter = Lifter.new
lifter.id=1327
lifter.installation_date= Date.parse("7/8/2010")
lifter.manufacturer="FooLift"
lifter.serial_number="1324AA"
lifter.drive="Automatic"
lifter.max_weight=1200

lifter.save!

performs this wrong (in id) INSERTS:

INSERT INTO `systems`
    (`installation_date`, `manufacturer`, `serial_number`)
    VALUES (?, ?, ?)
[
  ["installation_date", Sun, 07 Aug 2010],
  ["manufacturer", "FooLift"],
  ["serial_number", "1324AA"]
]

INSERT INTO `lifters`
  (`drive`, `id`, `max_weight`)
  VALUES (?, ?, ?)
  [
   ["drive", "Automatic"], ["id", 0], ["max_weight", 1200]
  ]

seems to loose the pre-assigned id setting (id=1327) and attempts to
fetch a database generated id. In other words after saving, lifter.id ==
0

I didn't understand why, can someone help me please?

Thanks