Changed around my models a bit different from before. Just added conditions to the associations in DefaultAudio where it makes it either be half or not. Here's the console dump fromm what you sent me:
>> assoc=DefaultAudio.reflect_on_association(:audio_out_test_half)
=> #<ActiveRecord::Reflection::AssociationReflection:0x3a290d8 @active_record=De
faultAudio(id: integer, speaker_test_id: integer, audio_out_test_full_id: intege
r, audio_out_test_half_id: integer, phone_id: integer, created_at: datetime, upd
ated_at: datetime), @name=:audio_out_test_half, @macro=:has_one, @options={:cond
itions=>["half = ?", true], :class_name=>"AudioOutTest", :as=>:audio_out}>
>> assoc.klass.find :all, :conditions => {:phone_id => 1}
=> [#<AudioOutTest id: 1, frPlus: #<BigDecimal:4f93c84,'0.1E1',4(8)>, frMinus: #
<BigDecimal:4f93c0c,'0.1E1',4(8)>, fr_r: "1", fr_png: "dsc00070.jpg", noise: #<B
igDecimal:4f93b6c,'0.1E1',4(8)>, noise_r: "1", noise_png: "dsc00070.jpg", dRange
: #<BigDecimal:4f93ae0,'0.1E1',4(8)>, dRange_r: "1", dynamics_png: "dsc00070.jpg
", thd: #<BigDecimal:4f93a54,'0.1E1',4(12)>, thd_r: "1", thd_png: "dsc00070.jpg"
, imdNoise: #<BigDecimal:4f939c8,'0.1E1',4(8)>, imdNoise_r: "1", imd_png: "dsc00
070.jpg", imdSwept_png: "dsc00070.jpg", stereo: #<BigDecimal:4f93914,'0.1E1',4(8
)>, stereo_r: "1", cross_png: "dsc00070.jpg", half: true, phone_id: 1, audio_out
_id: nil, audio_out_type: nil, created_at: "2009-08-17 19:09:36", updated_at: "2
009-08-17 19:09:36">, #<AudioOutTest id: 2, frPlus: #<BigDecimal:4f934f0,'0.0',4
(8)>, frMinus: #<BigDecimal:4f934b4,'0.0',4(8)>, fr_r: "0", fr_png: "dsc00070-th
umb.jpg", noise: #<BigDecimal:4f93428,'0.0',4(8)>, noise_r: "0", noise_png: "dsc
00070-thumb.jpg", dRange: #<BigDecimal:4f9339c,'0.0',4(8)>, dRange_r: "0", dynam
ics_png: "dsc00070-thumb.jpg", thd: #<BigDecimal:4f93310,'0.0',4(12)>, thd_r: "0
", thd_png: "dsc00070-thumb.jpg", imdNoise: #<BigDecimal:4f93284,'0.0',4(8)>, im
dNoise_r: "0", imd_png: "dsc00070-thumb.jpg", imdSwept_png: "dsc00070-thumb.jpg"
, stereo: #<BigDecimal:4f931d0,'0.0',4(8)>, stereo_r: "0", cross_png: "dsc00070-
thumb.jpg", half: false, phone_id: 1, audio_out_id: 2, audio_out_type: "DefaultA
udio", created_at: "2009-08-17 19:10:19", updated_at: "2009-08-17 19:10:19">, #<
AudioOutTest id: 3, frPlus: #<BigDecimal:4f92dac,'0.1E1',4(8)>, frMinus: #<BigDe
cimal:4f92d70,'0.1E1',4(8)>, fr_r: "1", fr_png: "cross.png", noise: #<BigDecimal
:4f92ce4,'0.1E1',4(8)>, noise_r: "1", noise_png: "cross.png", dRange: #<BigDecim
al:4f92c58,'0.1E1',4(8)>, dRange_r: "1", dynamics_png: "cross.png", thd: #<BigDe
cimal:4f92bcc,'0.1E1',4(12)>, thd_r: "1", thd_png: "cross.png", imdNoise: #<BigD
ecimal:4f92b40,'0.1E1',4(8)>, imdNoise_r: "1", imd_png: "cross.png", imdSwept_pn
g: "cross.png", stereo: #<BigDecimal:4f92a8c,'0.1E1',4(8)>, stereo_r: "1", cross
_png: "cross.png", half: true, phone_id: 1, audio_out_id: 1, audio_out_type: "De
faultAudio", created_at: "2009-08-18 16:48:42", updated_at: "2009-08-18 16:48:42
">]