Just looking at the code, everything looks right. I'd run
these functions and dump the results into a cfdump tag. I'd make
sure you're getting output.
You can also just output the query into the cfselect tag.
Unsure of your rationale for using the array code/loop.
Depending on your db you can also add in a blank row on top
to make your initial "select" come up blank instead of your first
"option". You can also use QueryNew to accomplish this. When you
"bind" you can't use the built in tag features.