Ответ 1
Примечание: этот ответ был первоначально написан OP, Kibbee, как самоответ. Однако это было написано в теле вопроса, а не как отдельный отдельный ответ. Поскольку OP отказался от повторных запросов других пользователей, в том числе модератора, на повторную отправку в соответствии с правилами сайта, я сам перепрограммирую его.
Попробовав сотню разных вещей, рефакторинг моего кода, много раз повторяя код в отладчике, и даже имея коллегу, изучите проблему, я наконец, в гениальном гениальном состоянии, обнаружил ответ.
В какой-то момент, когда я был рефакторинг кода, я сменил функцию, чтобы избавиться от параметра Value, оставив ее следующим образом:
Public Function GetSomeStringValue() As String
... Code Goes here
Return Some_Multicharacter_String
End Function
Однако я забыл удалить параметр, который я передавал при вызове функции:
SomeStringValue = GetSomeStringValue(Value)
Компилятор не жаловался, потому что интерпретировал то, что я делал, вызывая функцию без скобок, которая является устаревшей функцией из дней VB6. Затем параметр Value преобразуется в индекс массива строки (aka character array), который был возвращен из функции.
Итак, я удалил параметр, и все работало нормально:
SomeStringValue = GetSomeStringValue()
Я публикую это, чтобы другие люди узнали проблему, когда/когда они когда-либо сталкиваются с ней, и могут решить ее гораздо быстрее, чем я. Мне потребовалось довольно много времени для решения, и я надеюсь, что смогу сэкономить еще некоторое время.