あなたの質問に対する簡単な答えは、いいえ、そうしようとしてもおそらく問題に遭遇することはないでしょうということです。UDF のコンテキスト外 (CFC 内であっても) では、スコープのない set ステートメントは、変数のスコープを意味します。
さらに、CFC では、Variables スコープをそのすべての関数で使用できます。これは、その CFC 内の一種のグローバル スコープです。「this」スコープに似ていますが、変数スコープは「プライベート」変数に似ているのに対し、this スコープはパブリック変数に似ています。
これをテストするには、test.cfc を作成します。
<cfcomponent>
<cfset foo = "bar" />
<cffunction name="dumpit" output="true">
<cfdump var="#variables#" label="cfc variables scope">
<cfdump var="#this#" label="cfc this scope">
</cffunction>
</cfcomponent>
そしてそれをテストするためのページ、test.cfm:
<cfset createObject("component", "test").dumpit() />
結果は次のようになります。

さて、あなたのサンプルコードに見られる別の問題に対処するために...
CF では、すべてのユーザー定義関数に、一般に「var」スコープと呼ばれる特別な名前のないスコープがあります。UDF 内で次の操作を行う場合:
<cfset foo = "bar" />
次に、その変数を var スコープに入れるように CF に指示しています。
事態を少し複雑にするために、インライン UDF で var スコープを使用していないときに、問題 (予期していなかったときに変数値が変化する) に遭遇する可能性があります。
したがって、経験則は、常に、常に、常に、常に、関数内部変数 (クエリ名を含む) を var-scope にすることです。varScoperというツールがあり、var-scoped が必要な変数を見つけるのに役立ちます。最後に、完璧ではないことを確認しましたが、間違いなく始まりです。
ただし、CFC または標準の CFM ページでさえ、スコープなしで変数を参照 (表示/使用) することはお勧めできません (読み取り対象のスコープを指定できないため、明らかに var スコープの変数は除きます) 。CF7 の時点で、スコープを指定せずに変数を読み取ると、特定の順序でチェックされる 9 つのスコープがあり、最初に一致したものが優先されます。CF8 では、そのリストにさらに多くのスコープがある可能性がありますが、私は確認していません。これを行うと、別のスコープから期待しているときに、あるスコープから値を取得するリスクがあります。これはデバッグするのに悪夢です...私はあなたを保証します。;)
要するに、変数のスコープを (セット上で)暗示することは、悪い考えではありません (私は通常とにかくそれを指定しますが)。しかし、変数のスコープを(読み取り時に)推測すると、問題が発生します。