According to Cisco, the maximum valid sequence number in an IOS access list is 2147483647. Can you confirm what platform/code version you are running?
In terms of persistence across reboots, as mentioned by Jeb, sequence numbers are not stored in the configuration file. (do a 'show startup-config' to verify this) I don't think this is a bug, simply a known limitation.
What is the requirement for having your specific sequence numbers? In newer versions of IOS, there is always an implicit 'deny any any' at the end of any non-empty access list. Unless you are inputting a 'deny any log' so that you can log unauthorised traffic to syslog, you can simply append to your existing ACL, and the implicit deny will always be at the end?
EDIT:
I don't believe there's a way to change the implicit deny behaviour. One solution might be to store your configuration (including sequence numbers) remotely, and then to delete and recreate the entire ACL when you make changes? Unfortunately, Cisco's ACL implementation is designed around the, 'permit what you need, deny the rest' approach.
One way around the issue, assuming you are running a recent enough code version, might be to use Object Group-Based ACLs. You could then have a policy as follows.
Note: hand cut config; ensure you test before you deploy!
object-group network denied-destination-hosts
host 192.168.38.27
host 192.168.38.32
host 192.168.38.37
host 192.168.38.38
host 192.168.38.43
!
ip access-list extended BLOCK
deny ip any object-group denied-destination-hosts
permit ip any any
!
This would then allow you to modify the list of denied hosts independently of the 'BLOCK' ACL, and would ensure that your 'permit' statement was always the last entry.