Yes, because $_[0] is the first parameter $_[1] the second and so on.
If the 300 in your template is missing, $chars will become 1.
The 300 in your global is the default, when you call it with <%description_short( $ID, $Description)%>.
Regards
Merten