No non vi è alcuna limitazione ad utilizzare tipi di dati definiti da utente nelle funzioni, ecco lo screenshot di un programma che ne fa uso.
L’errore che tu hai citato A04110 Invalid data type, The data type used in the variable definition doesn’t exist. sembra un problema di errata definizione del tipo dati. Sei sicuro di scrivere correttamente il tipo dati ed hai la spunta sulla flag Case sensivity nelle opzioni di progetto (Screenshot) ?
Siccome i tipi dati sono scritti in lettere maiuscole senza la flag di Case Sensivity potrebbero essere confuse con le stesse definizioni scritte in lettere minuscole.