Convert number from base-10 number system to any number system
I believe the 1st approach is good enough since it personally more readable.

Little suggestions


I'd prefer to store the whole alphabet in the symbols string, instead of only letters. This could simplify the logic.
You can calculate the resulting length of the output string and avoid string insertions.  


Summarizing:

public static string ConvertNumber(BigInteger num, int baseNum)
{
    const string symbols = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    if (baseNum &lt; 2 || symbols.Length &lt; baseNum)
    {
        throw new ArgumentOutOfRangeException(nameof(baseNum));
    }

    if (num &lt; 0)
    {
        throw new ArgumentOutOfRangeException(nameof(num));
    }

    var resultLength = 1 + Math.Max((int)BigInteger.Log(num, baseNum), 0);
    var result = new char[resultLength];
    int index = resultLength - 1;
    do
    {
        result[index--] = symbols[(int)(num % baseNum)];
        num /= baseNum;
    } while (num != 0);

    return new string(result);
}


PS. It's recommended to name all classes and all methods in UpperCamelCase regardless of their publicity.