This should work:
linearray=($(awk -F: '1''{$1=$1} 1' <<<"${smryline}"))
echo ${linearray[2]}
# output: 27
Explanation: awk -F: splits input on :. awk by default separates modified output with a space, so you can construct an bash array directly with the output from awk. Note modified output, hence the no-op call to $1=$1, else the data would just come out in the original form.
But given your example, why not extract the third column with awk -F: and loop the output:
awk -F: '{print $3}' "$smryfile" | while read varX; do
echo $varX
done