頭の中を整理してみました。
元の文字と化けた後の文字をBase64でデコードしたりエンコードして、観察してるうちに化けた状態が再現できた。
→それを逆に書いたら復元できた。
というだけの事でした。
化けるに至った経路をもうちょっと追いかけると勉強になって詳しくなれそうです。
#頭の整理に使ったコードを張っておきます
<cfsetting enablecfoutputonly="true">
<cfprocessingdirective pageencoding="utf-8">
<!---
問題のメールヘッダは以下の様に文字化けしている
=?iso-2022-jp?B?GyRCMTowQjtUTilMQDMkPi4bKEI=?=
--->
<cfset target = "浦安市立明海小">
<cfoutput>
考察: ISO-2022-JPでメールの文字化け<br>
<hr>
<p><b>受信したメールがどの様にして文字化けを起こしたのかは解らないが化けた後の文字列はtargetの様な状況である。</b></p>
target = "#target#"<br>
<cfset tmp="ToBase64(ToString(CharsetDecode(target, ""iso-2022-jp"")))">
"#tmp#" = "#Evaluate(tmp)#"<br>
<hr>
<p><b>上記で再現ができたので、これを元の文字列に復元する方法を考える。</b></p>
<cfset target = "#ToBase64(ToString(CharsetDecode(target, "iso-2022-jp")))#">
target = "#target#"<br>
<cfset tmp="CharsetEncode(ToBinary(target), ""iso-2022-jp"")">
"#tmp#" = "#Evaluate(tmp)#"<br>
<hr>
</cfoutput>
<cfoutput>
<table border="1" cellspacing="0" frame="box">
<tr>
<td>CharsetDecode(string, "iso-2022-jp")</td>
<td>指定されたエンコードを使用して、文字列をバイナリ形式に変換します。</td>
</tr>
<tr>
<td>CharsetEncode(string, "iso-2022-jp")</td>
<td>指定されたエンコードを使用して、バイナリデータを文字列に変換します。</td>
</tr>
<tr>
<td>BinaryDecode(string, "Hex|UU|Base64")</td>
<td>文字列をバイナリオブジェクトに変換します。 </td>
</tr>
<tr>
<td>BinaryEncode(binarydata, "Hex|UU|Base64")</td>
<td>バイナリデータを文字列に変換します。</td>
</tr>
<tr>
<td>ToBase64(string または binary_object[, encoding])</td>
<td>文字列またはバイナリオブジェクトをBase64表現に変換します。文字列の場合はエンコードを指定します。</td>
</tr>
<tr>
<td>ToBinary(string_in_Base64 または binary_value)</td>
<td>Base64 でエンコードされた文字列(またはバイナリオブジェクト)をバイナリ形式に変換します。バイナリ値をこの関数に渡すと、関数は入力値を返します。</td>
</tr>
<tr>
<td>ToString</td>
<td>指定されたエンコードを使用して、バイナリデータを文字列に変換します。</td>
</tr>
<tr>
<td colspan="2">
ToBase64() 関数よりもBinaryEncode()関数が推奨されている。<br>
</td>
</tr>
</table>
</cfoutput>
----------------
suss
ussu
----------------