It is working for new (non-gifted) subs, though?
As it looks like the scripts you posted for resubs and gifted subs should be working. The only reason I would think they're not working if because you have
Code:
raw USERNOTICE:*:{
multiple times in your script. Keep everything under that or your script will only capture on the first instance of that code I believe. So your two scripts above would just be:

Code:
raw USERNOTICE:*:{
  if (($msgtags(msg-id).key == resub) && ($msgtags(room-id) == 39298218)) {
    var %nick $iif($msgtags(display-name).key, $v1, $msgtags(login).key)
    VAR %sub-plan $replace($msgtags(msg-param-sub-plan).key, 1000, $chr(36) $+ 4.99, 2000, $chr(36) $+ 9.99, 3000, $chr(36) $+ 24.99) 
    msg $1 %nick has just resubscribed for $msgtags(msg-param-months).key months in a row with a %sub-plan sub!
  }
  if (($msgtags(msg-id).key == subgift) && ($msgtags(room-id).key == 39298218)) {  
    var %nick_from $iif($msgtags(display-name).key, $v1, $msgtags(login).key) , %nick_to $iif($msgtags(msg-param-recipient-display-name).key, $v1, $msgtags(msg-param-recipient-user-name).key)
    VAR %sub-plan $replace($msgtags(msg-param-sub-plan).key, 1000, $chr(36) $+ 4.99, 2000, $chr(36) $+ 9.99, 3000, $chr(36) $+ 24.99)
    msg $1 Thank you %nick_from for gifting a %sub-plan sub to %nick_to $+ !
  }
}


You could code it a bit nicer than that but yeah just keep one raw USERNOTICE:*: per script.