The problem with your data is that you have one line type layer, and the rest are polygon layers. You can merge data of one type, but not mixed (at least not with shapefiles).
So you have to do it by editing the geojson file, or leave it separated type-wise. QGIS is not able to work with mixed geometries, so you have to split a mixed-geometry input file anyway (like gpx or kml drivers do).
EDIT
Improved answer with new data:
Now you have only polgon data, which makes a union possible without mixed geometry. But your admin shapefile has no prj file. That might cause the crash, see http://hub.qgis.org/issues/5962. Union does it better, but makes 2239 objects out of 83 admin area objects and 892 water areas.
What you can do is clear the union file, and copy and paste the elements of the two layers again into the output layer. The union file still has all attribute fields from both datasets, so copying works. In result you only have 975 elements.
Or copy and rename the .prj file from the water areas, which has the same projection. Then merging shapefiles works, with the expected 975 elements.
If you still want to work in QGIS then you can do it by importing the shapefiles to GRASS and then exporting them back out again to shapefile. This should convert them both to polygon geometry and the merge will work.
Make sure the two layers are loaded into QGIS before you start.
To import into GRASS:
1. Load the GRASS plugin and the toolbars.
Open the plugin manager (Plugins --> Manage and Install Plugins) and search GRASS in the search bar, ensure that the checkbox is ticked. This should add a new GRASS toolbar to your QGIS window. If it doesn't right click on an empty part of the toolbar; this will bring up a list of toolbars, make sure that GRASS is ticked.
2. Create a GRASS workspace.
GRASS doesn't work with data in traditional folders like you would using QGIS with shapefiles. Instead it stores files in a database structure that you have to create before you can start. To do this (adapted from HERE):
In the GRASS toolbar, click on the "New Mapset" icon to bring up the MAPSET wizard. It should automatically create a default save folder in your user folder. Then click Next.
Choose to "create a new location" and call it something - for example 'Australia'. Click Next.
You then need to set the projection. Looking at your data some of it is in GDA94 EPSG: 4283 so I've used this. You can type "4283" into the search bar to filter the list. Click Next.
Leave the Default GRASS region alone and click Next.
Specify a name for the "mapset" -> I've called it 'Demo'. Click Next. Click Finish.
This should create your location and mapset and set it as the working directory. It should also load the GRASS tools (if it doesn't there is a toolbar button to load the tools). Your now ready to import the files into GRASS.
3. Load the data into GRASS
Open the GRASS tools and look at the Modules Tree. Open File Management -> Import Vector into GRASS and double click on v.in.ogr.qgis - Import Loaded Vector.
Select one of the files from the dropdown list. Give it a name in the box below - I've just copied the name of the shapefile to make it easier. Click Run. It might take a little while to do, particularly on your complex shapefile. When it's finished you can view it in QGIS by clicking View Output. Repeat this step for the other file.
When they're both in QGIS right click on them in the table of contents and select Save As. Save them to a regular folder on your harddrive in shapefile format.
Redo the join using the two new shapefiles that you've created. I've just tested it with the MMQGIS merge tool and it seems to work fine.
Best Answer
Shapefiles don't differentiate between Polygon and MultiPolygon - all Polygon shapefiles can contain MultiPolygons. When you convert a Polygon shapefile to a GeoJSON file, a MultiPolygon is used for each feature to ensure that the feature geometry can be correctly saved.
To generate a Polygon GeoJSON file (rather than a MultiPolygon GeoJSON file) you can use the "Multipart to Singleparts" tool from the "Vector"/"Geometry" menu, choosing "Save to file" option and selecting GeoJSON as the output type.