[AT&T Samsung Galaxy S II Skyrocket SGH-I727] agentx3r:
So I use headphones a lot and I've gotten really sick of the way skyrocket handles the ringer while I've got headphones plugged in. In silent mode, nothing is played at all, and in ringer mode, the ringtone plays from the internal speaker instead of the headphones.

So I wrote up a simple Tasker script that forces the phone to play ringtone/notification sound from headphones if they're plugged in, and the speaker if headphones are not plugged in. This also pauses the music that's currently playing by spoofing a headset-pause button press.

Notes: %SANE is whatever you decide is a good volume for ringtone playing through headphones, don't want anyone to go deaf. Mine is usually set to 4.

Set the system ringtone/notification to 'silent' or 'none', and put your desired sounds into the ringtones folder (Ringtone.mp3 and Notification.mp3 or w/e). Tasker catches the phone call, and plays them like media files, forcing them to go through headphones if available.

Keeps track if headphones plugged in/out

Profile: Headphones In (3)
State: Headset Plugged [ Type:Any ]
Enter: Publish HP (4)
A1: Variable Set [Name:%HEADPHONES To:True Do Maths:Off Append:Off]
A2: Variable Set [Name:%VOLRSAVE To:%VOLR Do Maths:Off Append:Off]
A3: Ringer Volume [Level:0 Display:Off Sound:Off]
A4: Silent Mode [Mode:Vibrate]
A5: Profile Status [Name:Catch VolM 0 Set:On]
A6: Profile Status [Name:Catch VolR 0 Set:On]

Exit: Unpublish HP (6)
A1: Variable Set [Name:%HEADPHONES To:False Do Maths:Off Append:Off]
A2: Ringer Volume [Level:%VOLRSAVE Display:Off Sound:Off]
A3: Profile Status [Name:Catch VolM 0 Set:Off]
A4: Profile Status [Name:Catch VolR 0 Set:Off]

Catches phone call

Profile: Incoming Phone Call (14)
State: Incoming Call [ Caller:* ]
Enter: Ring (15)
A1: Variable Set [Name:%VOLMSAVE To:%VOLM Do Maths:Off Append:Off]
A2: Media Control [Cmd:Pause Simulate Media Button:On]
A3: Media Volume [Level:%SANE Display:Off Sound:Off] Media Volume [ %HEADPHONES ~ True ]
A4: Media Volume [Level:%VOLR Display:Off Sound:Off] Media Volume [ %HEADPHONES ~ False ]
A5: Music Play [File:Ringtones/Ringtone.m4a Start:30 Loop:Off]

Exit: Kill Ringer (17)
A1: Music Stop [Clear Dir:Off]
A2: Media Volume [Level:%VOLMSAVE Display:Off Sound:Off]
A3: Media Control [Cmd:Toggle Pause Simulate Media Button:On] Media Control [ %HEADPHONES ~ True ]

Catches SMS

Profile: SMS (19)
Event: Received Text [ Type:Any Sender:* Content:* ]
Enter: Beep (20)
A1: Variable Set [Name:%VOLMSAVE To:%VOLM Do Maths:Off Append:Off]
A2: Media Control [Cmd:Pause Simulate Media Button:On]
A3: Media Volume [Level:%SANE Display:Off Sound:Off] Media Volume [ %HEADPHONES ~ True ]
A4: Media Volume [Level:%VOLR Display:Off Sound:Off] Media Volume [ %HEADPHONES ~ False ]
A5: Music Play [File:Ringtones/Notification.mp3 Start:0 Loop:Off]
A6: Wait [MS:0 Seconds:3 Minutes:0 Hours:0 Days:0]
A7: Music Stop [Clear Dir:Off]
A8: Media Volume [Level:%VOLMSAVE Display:Off Sound:Off]
A9: Media Control [Cmd:Toggle Pause Simulate Media Button:On] Media Control [ %HEADPHONES ~ True ]

Works well on my phone. Automatically resumes music after ringer/sms if headphones are plugged in.

Comments, questions, suggestions welcome! Lemme know if this works on your phones.