2. Incorrect Template Use

It's unclear from your question, but if you're using single.php for your "custom single posts template," you shouldn't be using that "Template Name:..." header. The WordPress template hierarchy will automatically know which file to use.

3. Wrong Conditional Tag

The fact that you're using a custom page template makes me wonder whether you're trying to use this script to enqueue the script on PAGES as opposed to POSTS. If that's the case, you need to replace is_single() with is_page() or is_singular( 'page' )

I use a function that lets me put different single post templates into a folder in my child theme and then I call them conditionally from the single.php. Is that the problem?
–
Pollux KhafraMay 26 '12 at 1:19

Using the hook made it work. Thanks alot!
–
Pollux KhafraMay 26 '12 at 1:31

The real root of the problem was not using an API hook to check the is_single() status. I think even the init hook is too soon for this (and the theme functions.php is loaded right before init fires), so I usually use the template_redirect hook for anything that depends on the is_*() conditionals.
–
Dougal CampbellMay 27 '12 at 16:41