“The plugin generated 2694 characters of unexpected output…” on Plugin activation, CREATE TABLE sql command not working

There are two things wrong.

First, you have an error in your SQL syntax. The following do not have a type defined:

    streetaddress NOT NULL,
    suburbaddress NOT NULL,
    postcodeaddress NOT NULL,

I would assume these are “text” but MySQL doesn’t know that 😉 So you probably meant them to be:

    streetaddress text NOT NULL,
    suburbaddress text NOT NULL,
    postcodeaddress text NOT NULL,

The other problem is that you define $tmadm_db_version outside of the tmadm_install() function but try to use it in that function (so it is undefined inside the function). I can see that you declared it as a global variable, but you need to declare the global inside the function as well (although you’re only using it inside the function, so why not just set the value inside the function instead of using a variable?).

global $tmadm_db_version;
$tmadm_db_version = '0.1.0';

function tmadm_install() {
    global $wpdb;
    global $jal_db_version; // No global $tmadm_db_version inside the function?

    // ... other stuff ...

    add_option( 'tmadm_db_version', $tmadm_db_version ); // Using an undefined varibable here.
}

BTW, if you’re developing plugins and need to debug the activation process, get the Debug Bar plugin and add the Debug Bar Plugin Activation plugin to it. It will make your life A LOT easier! Also, another helpful tool is something like MySQL Workbench. If you drop your SQL query in there, it will show you lines that have errors on them (which is how I found yours).