Yes, you will need to add those columns so that your form can properly upload a blob to your data table. They are ALL used to coordinate the upload process from your user's workstation.
Re: Download link..You would build a report region and in your query include a column for the download link to be displayed based upon the blob size.
If you post an example up on Oracle's hosted site, people can help you better..
About what? Posting an example up on apex.oracle.com?
You create an account and workspace, then upload your application (what you have of one so far) and post the login information in this thread, and probably someone here will show you how to do the coding from the example you have quoted..
I've been working on this and I just got it to work. You need to add all 4 columns to the table and to the insert and update forms but you can hide the fields (display as hidden) so no one has to touch them. They just need to be there. You also need to add a column for your attachment (Blob file). On your insert form, this will be a File Browse Item. When you are setting up this column, you need to include all the other columns in the set up in the Item Source attribute section. You will also need to do this in the Blob column attributes section of your report set up. Then, in the SQL code for the Regions source (on the report) you need to make some changes. Mine looked like this:
Each of those lines corresponds to one of the columns and the DBMS line is for the attachment. My column is (very creatively) named "ATTACHMENT" so that is what is listed in this line of code.
I hope that helps you make some progress. Hang in there.