cannot destroy child records

Hi, i am lost here,

i have these models:

class Shift < ActiveRecord::Base
  has_many :transactions,:dependent => :destroy
  has_one :exchangeproposal

class Transaction < ActiveRecord::Base
  belongs_to :shift
  has_many :exchangeproposals

class Exchangeproposal < ActiveRecord::Base
  belongs_to :shift
  belongs_to :transaction

with these models i can't destroy an exchangeproposal object

e=Exchangeproposal.find(100).destroy
=> #<Transaction id: 7, shift_id: 14591, group_id: 47, user_from_id:
nil, user_to_id: nil, date: nil, soort: 2, status: 2, created_at:
"2008-07-29 17:17:36", updated_At: nil>

instead i get back a transaction??

now if i remove the belong_to :shift in the model,
how can this be explained?

thanks