Convert integer to full text string duration
You should look into the TimeSpan struct, which provides a nice method TimeSpan.FromSeconds().

Having filled a TimeSpan struct by e.g calling the FromSeconds() method, you can just access its properties Seconds, Minutes and Hours.

Instead of concating strings like you do, you should consider to use a StringBuilder.  

To get rid of the If ... Else If you can just use the singular and only if the value is greater than 1 you add a s to the string/StringBuilder.  

Based on the .NET Naming Guidelines method parameters should be named using camelCase casing hence TotalSeconds should be totalSeconds

Implementing the mentioned points will look like so  

Public Function SecondsFullText(ByVal totalSeconds As Double) As String

    Dim timeSpan As TimeSpan = TimeSpan.FromSeconds(totalSeconds)
    Dim stringBuilder As StringBuilder = New StringBuilder()

    Dim hours As Integer = timeSpan.Hours
    Dim minutes As Integer = timeSpan.Minutes
    Dim seconds As Integer = timeSpan.Seconds

    stringBuilder.Append(ToText(hours, "hour"))
    If hours &gt; 0 AndAlso (minutes &gt; 0 OrElse seconds &gt; 0) Then
        stringBuilder.Append(" ")
    End If
    stringBuilder.Append(ToText(minutes, "minute"))
    If minutes &gt; 0 AndAlso seconds &gt; 0 Then
        stringBuilder.Append(" ")
    End If
    stringBuilder.Append(ToText(seconds, "second"))
    Return stringBuilder.ToString()

End Function

Private Function ToText(value As Integer, singularName As String) As String

    If value = 0 Then Return String.Empty
    If value = 1 Then Return String.Format("{0} {1}", value, singularName)
    Return String.Format("{0} {1}s", value, singularName)

End Function