The Language Reference is very lean, which is very favorable to get into the SDL quickly.
Some parts, though, contain too little information to really grasp all the necessary details:
Message Type
The components in not further specified, only the second sentence of the introduction mentions conditions and dependencies. As this is a crucial (and unusual/non-trivial) concept of the language, we should go into more detail here.
Type Refinement
Do we want to replace any kind of component in a type refinement? Or is this possible only for byte arrays (of a specific type)? We should clarify that.
Also, the section on type refinement does not mention the condition that can be applied to a refinement. This is crucial for real-world protocols.
Context Clause
From that paragraph it's unclear where the with-clauses belong. Clarify where those are valid (probably only at the beginning of a package?)
File
We should specify how the package name corresponds to the file name. Also, we should specify somewhere how package_name, name and refined_type_name are structured.
Style and wording
At the beginning of the spec we should (very briefly!) describe how we specify our syntax. E.g. terminals in bold.
We should decide how to handle the non-keyword/terminal cases. For a real grammar, every non-terminal should map to some production. Maybe we strive for completeness here, but put the obvious details (e.g. that first is some numeric type) into an appendix?
I find the use of "usually" a bit too casual for a specification document. Where applicable (e.g. in the static semantics of the packages) use "by convention". Replace other occurrences by something more definite.