this issue has been covered several times in the past, as you may see if you search BioStar for "dbSNP multiple" or "dbSNP duplicated", so it's never late to suggest first to query the forum system before posting a question. moreover, the "related questions" that appear before sending the question usually perform quite well, so it's always worth it to pay a little attention to them.
the best answer in my opinion is the one given by neilfws on this question, where he describes that this happens due to the way dbSNP locates the snp position, which is no other than mapping. so in case the same SNP (and its flanking sequences of course) map to several genome locations, then you will see multiple location entries for the same SNP. therefore, I wouldn't consider it as an error, but a limitation of the system. do not get confused with the usual fact that dbSNP gives different locations for the same SNP due to the referring to different genome assemblies, as they all may reflect the same position indeed.
No, I do not think you've parsed the file in error. This is not correct, of course, but dbSNP is not perfect and it does have erroneous entries. The entry for this SNP at NCBI shows it mapping to chr10. When I look closely at the chr18 region indicated by your parsing, I see no SNPs at all.
It is possible. In dbSNP, some SNPs will map to more than one genomic region. You can see some other cases in chr_*.txt in dbSNP FTP. There also exist cases that one genomic position associated to multiple SNP IDs.
I thought it is due to different alignments of the submitted fasta sequences associated to that SNP. Biological data are usually messy and not consistent. As more accurate reference genome been assembled and more evidences of SNPs are submitted, this situation might become better.